什么叫动态数组???

kuny1130 2005-03-18 09:19:02
经常在书上看到,但每次都是略过不讲,只是提到~ 麻烦帮忙解释一下吧 谢谢!!!
...全文
283 点赞 收藏 12
写回复
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存入数据,
一般不需要关心数组大小。
因为数组的大小是根据你的数据量变化的
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告