【发布时间】:2013-05-24 02:15:38
【问题描述】:
所以我尝试使用 malloc 在 C 中创建一个动态数组,但由于某种原因它没有成功。这是我的代码:
int* test = (int*) malloc(20 * sizeof(int));
printf("Size: %d\n", sizeof(test));
当我运行此代码时,控制台输出 8,尽管我相信它理想情况下应该输出 80,因为 int 的大小是 4,而我正在创建其中的 20 个。那么为什么这不起作用呢?谢谢你的帮助。 :)
【问题讨论】:
-
记得检查 malloc 的返回值,查看文档...
-
旁注:C语言编程时请不要强制转换
malloc的返回值。
标签: c arrays memory dynamic malloc