如何动态(使用malloc或calloc)分配内存?
可能重复:
确定c中动态分配的内存的大小
关于malloc和sizeof的新手问题
如何从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
不,没有办法找到指针所指的内存量。
至少不在任何系统上,所以没有便携方式。
不是。在没有使用存储分配大小的额外数据的情况下。