如何在C中找到动态分配的数组的大小?

时间:2012-11-27 23:13:38

标签: c arrays size sizeof dynamic-memory-allocation

我创建了一个由循环动态分配的数组。然后是一个循环,从数组中读取数字,但我需要知道数组的大小。该数组正确且完全正常,并且其中包含正确的值。 我像这样定义了数组:

int *array;

现在当我想使用它时它不会工作因为我使用指针:

int size = sizeof(array)/sizeof(array[0]);

我如何修复它以便它与我的指针一起使用?

1 个答案:

答案 0 :(得分:2)

我假设您使用new或malloc / calloc之一分配数组。在这种情况下,你不能这样做。您需要跟踪另一个变量的大小,或者使用一个可以跟踪大小的结构。