关于C++ sizeof()的问题

charstr[]=“Hello”;char*p=str;不理解为什么sizeof(p)=4... char str[] = “Hello” ;
char *p = str ;
不理解为什么sizeof ( p ) = 4
展开
 我来答
jaycnvip
2009-06-21 · TA获得超过767个赞
知道小有建树答主
回答量:998
采纳率:100%
帮助的人:643万
展开全部
记住,sizeof(类型),即它计算的是类型的内存宽度,而不是其它值

char *p = str;//明显 p 是一个指针,在32位机下,指针就是 4 个字节
所以结果为 4
huyuanming11
2009-06-20 · TA获得超过241个赞
知道答主
回答量:64
采纳率:0%
帮助的人:0
展开全部
P是一个指针(指向str)
所有指针占用内存都是4字节

参考资料: My

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kenzhon
2009-06-20 · TA获得超过2346个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:1061万
展开全部
sizeof()取指针的大小,取得是指针变量所占的大小,与指针指向内容的大小无关。如果是32位系统肯定是4。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迂贸竞举9Q
2009-06-20 · 超过37用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:0
展开全部
sizeof是根据你后面跟的类型来判断的
你直接跟str他代表的是一个数组,数组是一个实在的东西,str就代表的是一个数组,长度为5
p代表的是一个指针,指针类型就是4
要清楚指针和数组是有区别的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咎秀筠2D
2009-06-21 · TA获得超过359个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:177万
展开全部
p是指针,占四个字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式