可能重复:
如何找到';sizeof';(指向数组的指针(?
我红了这个,但对我没有多大帮助。
int* sum;
int size = 10;
sum = calloc(10, sizeof(int));
printf("Total length: %d", sizeof(sum)/sizeof(*sum))
代码按预期返回1。
我知道使用大小变量会更容易。
我的问题是,有没有一种方法可以使用sizeof来找出这个数组的正确大小?
除了自己跟踪大小(例如,示例中的size
变量(之外,没有可移植/标准的方法来获取动态分配的内存块的大小。