A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 4B青年 中级黑马   /  2015-7-2 18:39  /  1379 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 4B青年 于 2015-7-11 20:55 编辑
  1. int result;
  2. result = sizeof('a');
  3. printf("%d",result);//打印出结果会是4,为什么不是1?什么情况下会打印1?
复制代码

3_11、sizeof运算符-补1_201572183328.JPG (208.07 KB, 下载次数: 154)

3_11、sizeof运算符-补1_201572183328.JPG

11 个回复

倒序浏览
本帖最后由 4B青年 于 2015-7-2 18:52 编辑

能不能写个例子或画个内存图说明一下,文字看的挺绕的
回复 使用道具 举报
你要是想打印一个字符所占字节,你首先要定义个字符,你这里写的result = sizeof('a')这句话等同于result = sizeof(96);,它是将‘a’转化为了ascii中对应的值了。
回复 使用道具 举报
字符常量占4个字节,字符变量占一个字节
回复 使用道具 举报
痛并快乐着 发表于 2015-7-3 21:30
字符常量占4个字节,字符变量占一个字节

虽然还是没搞懂原理,这也是一个知识点,感谢!
回复 使用道具 举报
好好区分字符常量跟字符变量
回复 使用道具 举报
18678927239 发表于 2015-7-3 23:10
好好区分字符常量跟字符变量

能否通过指针变量通过打印地址的方式,将字符常量和字符变量在内存中存在的状况表现出来?
回复 使用道具 举报
学习了。。。
回复 使用道具 举报
4B青年 发表于 2015-7-4 11:25
能否通过指针变量通过打印地址的方式,将字符常量和字符变量在内存中存在的状况表现出来? ...

可以 建个 target 试验一下吧
回复 使用道具 举报
楼主没搞清楚字符变量和字符常量。字符常量占4字节,变量占1字节
回复 使用道具 举报
字符常量占4个字节,字符变量占一个字节
回复 使用道具 举报
只知道   char 占一个字节
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马