【发布时间】:2014-06-27 06:54:39
【问题描述】:
假设我通过这样做声明了一个数组:
int array[] = {1, 2, 3, 4};
据我了解,您也可以使用指针和 malloc 创建相同的数组:
int* array = malloc(sizeof(int) * 4);
*(array) = 1;
*(array + 1) = 2;
*(array + 2) = 3;
*(array + 3) = 4;
这两种方式有什么区别?一个一定比另一个更好吗?
【问题讨论】:
-
编译时大小未知怎么办?
-
如果 SO 重复搜索不是那么糟糕,我会为你找到 10 个。
-
这应该在您最初听说动态内存分配的来源中进行解释。