如何动态(使用malloc或calloc)分配内存?

时间:2012-10-09 15:34:38

标签: c size malloc

  

可能重复:
  determine size of dynamically allocated memory in c
  newbie questions about malloc and sizeof
  How can I get the size of an array from a pointer in C?

     

Malloc -> how much memory has been allocated?

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

2 个答案:

答案 0 :(得分:3)

不,没有办法找到指针指的内存量。

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

答案 1 :(得分:2)

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