黑马程序员技术交流社区

标题: 关于sizeof的问题 [打印本页]

作者: venn    时间: 2015-7-8 09:06
标题: 关于sizeof的问题
sizeof('a')=?
int ch = 'a';
sieeof(ch)= ?
看着貌似差不多,为什么会不一样呢》?

作者: dushoupeng    时间: 2015-7-8 09:28
这个是个基础问题。第一句是‘a’是char类型常量,计算机在读取时会转换成对应的ascii码,也就是97.sizeof求得是97的大小。第二个求得是一个char类型变量,也就是一个字节。
作者: q387844322    时间: 2015-7-8 09:33
‘a’是字符常量  存储方式为该字符常量对应的ASCII码的数值, ‘a’的ASCII码为97即整型数据  为4字节 ch为字符变量 存储格式为二进制 即一字节  不过楼主你的第二行是不是应该是char ch = ‘a’?
作者: 丁铭检    时间: 2015-7-8 09:35
同上。。。
作者: zlc    时间: 2015-7-8 10:57
基础视频中有讲到这个问题
作者: 安3520    时间: 2015-7-8 11:06
呃呃呃二人
作者: qq358556392    时间: 2015-7-8 11:38
2楼说的就是问题所在了
作者: lucky0512    时间: 2015-7-8 15:30
楼主,可以看看这个,看是否对你有帮助http://bbs.itheima.com/thread-210829-1-1.html
作者: 午夜码农    时间: 2015-7-8 16:43
基础视频 第三天貌似就有讲了,没理解多看几遍。。
作者: 深蓝的蓝    时间: 2015-7-8 22:39
学习了,以前没注意啊
作者: hanjiaqi    时间: 2015-7-8 23:00
学到知识了~
作者: 闪电侠    时间: 2015-7-8 23:26
按照LZ的写法,两个结果都是4吧????
如果改成这样char ch = 'a';
那结果是
4,1
作者: 弹剑    时间: 2015-7-8 23:31
二楼讲的好
作者: venn    时间: 2015-7-9 06:17
弹剑 发表于 2015-7-8 23:31
二楼讲的好

你不讲讲了?,,,,
作者: huguozhang    时间: 2015-7-9 16:40
sizeof('a')=?    //字符a所占字节数
int ch = 'a';          // 字符a的ascii码值
sieeof(ch)= ?     // 一个int类型所在字节数
作者: 小小羊    时间: 2015-7-9 19:38
一个是按ASCII码存储,一个是按字符存储的
作者: 慕名黑马生    时间: 2015-7-9 21:09
第三天的视频有讲到过
作者: aludiba    时间: 2015-7-9 22:01
把字符赋值给整型变量,它就是ASCII码里对应的整型数值,算的自然是整型数据类型的字节数
作者: zhaofeizlj    时间: 2015-7-9 22:17
sizeof('a')=?   //计算的是字符a的所占的字节数 int ch = 'a'; sieeof(ch)= ?    //计算的是int 整型变量所占的字节数
作者: 任伟    时间: 2015-7-9 22:30
第一个是字符型常量,存储的是ASCII码值,也就是97 ,4个字节,ch是字符型数据,是一个字节了
作者: venn    时间: 2015-7-10 07:51
任伟 发表于 2015-7-9 22:30
第一个是字符型常量,存储的是ASCII码值,也就是97 ,4个字节,ch是字符型数据,是一个字节了 ...

喔,谢谢你的解答,,,,
作者: venn    时间: 2015-7-10 07:56
zhaofeizlj 发表于 2015-7-9 22:17
sizeof('a')=?   //计算的是字符a的所占的字节数 int ch = 'a'; sieeof(ch)= ?    //计算的是int 整型变 ...

谢谢你的耐心回答,,,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2