可能重复:
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?
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
答案 0 :(得分:3)
不,没有办法找到指针指的内存量。
至少不在任何系统上,所以没有便携方式。
答案 1 :(得分:2)
没有。并非没有在存储分配大小的地方使用额外数据。