【发布时间】:2012-08-21 08:20:25
【问题描述】:
我希望能够改变数组的大小,所以我以这种方式创建了一个:
int* array;
array = malloc(sizeof(int)*10);//10 integer elements
我可以像往常一样使用这个数组,但是当我尝试像这样找到它的大小时:
size = sizeof(array)/sizeof(int);
我得到答案 1,因为它没有将其识别为指向数组
如何获取数组的大小? (我知道它在技术上不是一个数组,但有没有办法计算出分配的内存块的整个大小?)
我是否也正确地假设了我在描述中所说的内容?如果我在技术上存在错误,请纠正我。
【问题讨论】:
-
你做不到。
sizeof不知道malloc。
标签: c arrays pointers malloc sizeof