C语言 如何获取动态(使用 malloc 或 calloc)分配内存的大小



可能的重复项:
确定动态分配的内存大小(在 C 语言
中) 新手关于 malloc 和 size 的问题
如何从 C 中的指针获取数组的大小?

Malloc -> 已分配了多少内存?

int **arrofptr;
arrofptr = (int **)malloc(sizeof(int *) * 2);
arrofptr[0] = (int *)malloc(sizeof(int)*6144);
arrofptr[1] = (int *)malloc(sizeof(int)*4800);
现在我必须知道在arrofptr,arrofptr[

0],arrofptr[1]中分配了多少字节? 有没有办法知道大小?

如果我们要打印

sizeof(arrofptr);
sizeof(arrofptr[0]);
sizeof(arrofptr[1]);

然后它将打印 4

不,无法找到指针引用的内存量。

至少不在任何系统上,所以没有便携式方式。

No.并非没有在存储分配大小的地方使用额外的数据。

相关内容

  • 没有找到相关文章

最新更新