【发布时间】:2018-03-31 15:57:36
【问题描述】:
我真的不知道如何在 c 中创建一个动态数组。 这是一个简单的例子。如果我定义一个静态数组,则基本上设置了缓冲区溢出。那么如何创建一个可以在 for 循环中使用的动态数组呢? malloc 是个好主意吗?如果是,我如何在 for 循环中使用 malloc?
int my_array[] = {};
int i = 10;
for (i; i <= sizeof(my_array) / sizeof(my_array[0]); i++) {
my_array[i] = i + 2;
}
【问题讨论】:
-
这是未定义的行为,请使用
malloc或“可变长度数组”(如果您的编译器支持它们) -
@UnholySheep VLA 不是“动态”...
-
网络上有很好的资源。