打印

sizeof的下面两个例子有点看不懂,请大家给指点一下!

[复制链接]
1831|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccjchen|  楼主 | 2009-8-31 19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yewuyi| | 2009-8-31 20:16 | 只看该作者
到底是多少,首先需要知道你用的什么编译器,各个编译器是有差异的。

使用特权

评论回复
板凳
soler_z| | 2009-9-1 01:04 | 只看该作者
第一个例子: char* ss = "0123456789";

  sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针
难道指针类型占据4个空间?
第二个例子:
char q[]="abc";


  char p[]="a\n";

  sizeof(q),sizeof(p), ...
ccjchen 发表于 2009-8-31 19:51

第一个问题,,
ss是指针,sizeof(ss)就是算ss指针的地址有多少字节,一般地址都是四个字节的吧。字节可以用%p输出一下它的地址就能看到了。
第二个问题,,char p[]="a\n"    'a','\n','\0'这不就是三个字符吗?
既然你sizeof q知道,这个也应该知道的啊。

使用特权

评论回复
地板
ccjchen|  楼主 | 2009-9-1 09:01 | 只看该作者
谢谢,我把\n当成\0了不好意思

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

446

帖子

1

粉丝