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

标签 c arrays size sizeof dynamic-memory-allocation

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

int *array;

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

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

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

最佳答案

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

关于c - 如何在 C 中找到动态分配数组的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13594935/

相关文章:

c++ - std::map 按值的大小排序 (set<int>)

c - 在linux上,如何在不尝试连接的情况下检查端口是否处于监听状态

c++ - 数组下标位置加1

c - 如何从调用者分配的内存空间中捕获由被调用者组织的字符串数组?

arrays - MATLAB 矩阵元素明智乘法优化

java - Twitter4J 上最多 20 个好友信息

C 在 void 函数之后由指针发送的数组的值被修改

c - 在 Windows 中运行 C 程序时权限被拒绝

C指针char到小写

css - 将 div 置于其他 div 下方