char str[]=100 char *p=str,,为什么sizeof(p)=4?????

Ge 2003-09-28 05:41:25
还有
void *p=malloc(100),,
sizeof(p)也是4,,为什么,
...全文
234 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebohe 2003-09-28
  • 打赏
  • 举报
回复
p是指针,指针是地址,地址是4字节
lif2000 2003-09-28
  • 打赏
  • 举报
回复
4是这个指针所占有的空间大小
cxf1976 2003-09-28
  • 打赏
  • 举报
回复
32位的系统就是这样
晨星 2003-09-28
  • 打赏
  • 举报
回复
char s[] = "……",则不一样,这里,s是个数组名,对数组名进行sizeof运算,得出的是数组的长度。注意,数组名只是个地址,你可以说它是个指针(歧义?),但你肯定不可以说它是个“指针变量”。
晨星 2003-09-28
  • 打赏
  • 举报
回复
p是个指针变量,32为系统中指针变量都是32位的。
dawndu 2003-09-28
  • 打赏
  • 举报
回复
p是个指针,它的大小是32位的,就是4了
HongHuer 2003-09-28
  • 打赏
  • 举报
回复
地址是 32 位。就是 4。
sdchl 2003-09-28
  • 打赏
  • 举报
回复
4是指指针的大小,不是它指向的空间的大小。

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧