求解释

void *p=malloc(100);
cout<<sizeof(p)<<endl;


为什么这里输出的结果会是4啊

作者: sanshao1314   发布时间: 2011-06-14

因为p是一个指针变量吧

作者: LBJMD   发布时间: 2011-06-14

因为100吧
所以p是int类型的指针
然后等于sizeof(int)

作者: c_losed   发布时间: 2011-06-14

在C中一般的指针变量都是用4个字节存储的,所以当你用sizeof返回内存的时候结果会是4~

作者: ch2009120504   发布时间: 2011-06-14

2楼正解
++

作者: jernymy   发布时间: 2011-06-14

你输出的是p的大小,p是一个指针,在32位系统中指针是4个字节,所以结果是4

作者: xiaoyuanyuan2009   发布时间: 2011-06-14

32位系统指针无论是int* char* 都是4个字节的。

作者: zhangcan001   发布时间: 2011-06-14