C语言中,定义动态数组

如题,想先随意输入一串数,然后根据输入好的数的大小再定义数组大小。请问能用方法实现吗?目前我只会用malloc函数,先定义N再定义A[N]。

这样不断地malloc太浪费时间了。
可以参考常用一个库设计方法,就是先分配一定空间的内存给数组,然后当这个空间不够的时候,再动态分配之前空间的两倍出来,然后把数组拷贝到新地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-29
用malloc 麻烦
可以先暴力定义个数组。
如:int i,N,a[10000];
scanf("%d",&N);
for(i=0;i<N;i++)
............
第2个回答  2019-02-19
c99中有动态数组,例如
int
n;
scanf("%d",
&n);
int
array[n];
c89不能这么用
c++可以用vector
#include
using
std::vector;
vector
array;