【发布时间】:2011-01-29 12:17:12
【问题描述】:
看这个例子!
int main( int argc, char ** argv )
{
int *ptr = malloc(100 * sizeof (int));
printf("sizeof(array) is %d bytes\n", sizeof(ptr));
}
printf 函数只返回 4 个字节! 怎么了?
非常感谢!!!
【问题讨论】:
-
各位大佬,我知道sizeof不能返回malloc分配的块数,怎么办呢?还有其他方法吗?再次感谢。
-
不,没有可移植的方法来“询问”分配了多少内存。正如@unwind 所说,您必须自己记住。