c-动态声明的数组sizeof



可能重复:
如何找到';sizeof';(指向数组的指针(?

我红了这个,但对我没有多大帮助。

int* sum;
int size = 10;
sum = calloc(10, sizeof(int));
printf("Total length: %d", sizeof(sum)/sizeof(*sum))

代码按预期返回1。

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

我的问题是,有没有一种方法可以使用sizeof来找出这个数组的正确大小?

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

最新更新