什么时候我应该在C中使用malloc而不是普通的数组定义?
我无法理解之间的区别:
int a[3]={1,2,3} int array[sizeof(a)/sizeof(int)]
和:
array=(int *)malloc(sizeof(int)*sizeof(a));
解决方法
通常,在以下情况下使用malloc():
>数组太大而无法放在堆栈上
>数组的生命周期必须比创建它的范围更长
否则,使用堆栈分配的数组.