什么叫动态数组???

kuny1130 2005-03-18 09:19:02
经常在书上看到,但每次都是略过不讲,只是提到~ 麻烦帮忙解释一下吧 谢谢!!!
...全文
310 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tudou614 2005-03-19
  • 打赏
  • 举报
回复
基本上有2种变长数组:
1.“伪变长”
const int size = 10;
....
int array[size];

2.堆上实现的变长数组
int *pArray = new int[size];

类似vector 的变长数组----这个可以去看我的帖子
http://community.csdn.net/Expert/topic/3863/3863904.xml?temp=.3280146
能用起来,但不够深刻,所以不感妄谈!
csdboy 2005-03-19
  • 打赏
  • 举报
回复
同意Super的
Flood1984 2005-03-19
  • 打赏
  • 举报
回复
动态数组就是数组的长度不定的数组,
与其相反的是平时定义的如int a[5];//长度固定是5
sankt 2005-03-19
  • 打赏
  • 举报
回复
up
楚牛9 2005-03-19
  • 打赏
  • 举报
回复
vector
arrowcy 2005-03-19
  • 打赏
  • 举报
回复
其实用malloc(或calloc)和realloc也可以实现变长数组
int *p=calloc(sizeof(int),10);
p=realloc(sizeof(int),12);
printf("%d",p[2]);
yuchengliu 2005-03-19
  • 打赏
  • 举报
回复
是大小可变的数组!
成富 2005-03-19
  • 打赏
  • 举报
回复
以上的都说得很清楚了,个人推荐用STL的vector
lw1a2 2005-03-18
  • 打赏
  • 举报
回复
一般来说,就是在编译的时候不知道数组的大小:
int i;
cin>>i;
int ia[i];

ISO99支持动态数组,但是,一般的编译器都不支持。我只知道DevCPP现在支持动态数组。

由于大部分编译器都不支持,可以用变通的方法实现,例如pcboyxhy的方法

steel007 2005-03-18
  • 打赏
  • 举报
回复
一般是指后者吧,毕竟变长的数组很吸引人的
TangChin 2005-03-18
  • 打赏
  • 举报
回复
pcboyxhy 真是太强了
回帖的速度还真快,佩服!
pcboyxhy 2005-03-18
  • 打赏
  • 举报
回复
两个理解方式。

1.在堆里分配空间的数组.
例如 int *test = new int[data_size];


2.类似vector 的变长数组.
vector <int> test;
test可以push_back存入数据,
一般不需要关心数组大小。
因为数组的大小是根据你的数据量变化的

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧