求解释
void *p=malloc(100);
cout<<sizeof(p)<<endl;
为什么这里输出的结果会是4啊
cout<<sizeof(p)<<endl;
为什么这里输出的结果会是4啊
作者: sanshao1314 发布时间: 2011-06-14
因为p是一个指针变量吧
作者: LBJMD 发布时间: 2011-06-14
因为100吧
所以p是int类型的指针
然后等于sizeof(int)
所以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