动态声明的数组sizeof

时间:2011-10-28 13:18:46

标签: c pointers sizeof

  

可能重复:
  How to find the 'sizeof' (a pointer pointing to an array)?

我红this但它对我帮助不大。

int* sum;
int size = 10;
sum = calloc(10, sizeof(int));

printf("Total length: %d", sizeof(sum)/sizeof(*sum))

代码按预期返回1.

我知道使用size变量会更容易。

我的问题是,有没有办法使用sizeof找出这个数组正确的大小?

1 个答案:

答案 0 :(得分:2)

除了自己跟踪大小(例如示例中的size变量)之外,没有可移植/标准的方法来获取动态分配的内存块的大小。