【发布时间】:2012-07-23 10:10:22
【问题描述】:
我的 c 代码中有一个 struct,但这个问题也适用于所有其他类型,所以我将使用 int 而不是我创建的 struct。
int *a = realloc(NULL, 10*sizeof(int) );
printf("%d\n",sizeof(a)); //prints 4, needed to be 40
int b[10];
printf("%d\n",sizeof(b)); //prints 40
我的问题是:我在代码中使用realloc,但我不知道如何找到数组的总大小。最简单的方法是什么?谢谢。
【问题讨论】:
-
sizeof不会在指针上做你想做的事。你不能简单地“忘记”你传递给realloc的东西。 -
@PaulR 编译时间?
VLAs呢?