社区
Linux/Unix社区
帖子详情
一个有关sizeof的问题
see22
2004-11-06 03:41:35
用gcc编译:
1)
char c = 'a';
printf("%d\n", sizeof(c)); //结果: 1
2)
printf("%d\n", sizeof('a')); //结果: 4 ??
不明白,请高手指点
...全文
167
11
打赏
收藏
一个有关sizeof的问题
用gcc编译: 1) char c = 'a'; printf("%d\n", sizeof(c)); //结果: 1 2) printf("%d\n", sizeof('a')); //结果: 4 ?? 不明白,请高手指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sukaru
2004-11-08
打赏
举报
回复
实际上字符是转换为整数在处理的,所以你做sizeof('a')肯定是4啊
rainman1981
2004-11-06
打赏
举报
回复
同意2楼的
char类型显式声明是1个字节的
如果没有显式生命则可能是按照整型存放
zhouyong0371
2004-11-06
打赏
举报
回复
VC里边也是这样,
铖邑
2004-11-06
打赏
举报
回复
'a'编译时是当作int处理的
pacman2000
2004-11-06
打赏
举报
回复
这是C语言标准里对常量的规定。字符常量是作为int的。这个在c++里改回了char型。你用g++编译就知道了。
gettext
2004-11-06
打赏
举报
回复
sizeof('a')没有什么意义,只能说明字符常量是按整型存的。
groock
2004-11-06
打赏
举报
回复
的确‘character’是当作整数处理的
lysliberty
2004-11-06
打赏
举报
回复
呵呵,楼上的都说拉!
lswx
2004-11-06
打赏
举报
回复
错了,
2> sizeof(int)=4;
不好意思 手误
lswx
2004-11-06
打赏
举报
回复
1)-->
a是做字符处理,所以sizeof(a)=1;
2)-->
'a'是以整型处理的,sizeof('a')等于sizeof(int)
sizeof(int)=1;
xoyuer
2004-11-06
打赏
举报
回复
sizeof 将'a'处理为整型
将c处理为字符型!
《C语言基础》 之 第3章 运算符
课程内容:表达式、赋值运算符1、赋值预算符2、关系运算符1、关系运算符2、逻辑运算符1 、逻辑运算符2、逻辑运算符3、
sizeof
运算符1 之 内存结构、
sizeof
运算符2 之 基本类型回顾 、
sizeof
运算符3 之
sizeof
的使用、...
c语言中
sizeof
详解
操作数可以是
一个
表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、
sizeof
的使用方法1、用于数据类型
sizeof
使用形式:
sizeof
(type) 数据类型必须用括号括住。如
sizeof
(int)。 2、...
c++计算
一个
类的
sizeof
()
一个
空的类
sizeof
()返回1。因为
一个
空类也要实例化,所谓类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址。同样空类也会被实例化,所以编译器会给空类隐含的添加
一个
字节,这样空类实例...
C语言基础——
sizeof
的用法总结
sizeof
是C语言中保留关键字,也可以认为是一种运算符,单目运算符。常见的使用方式: int a=10; int arr=[1,2,3]; char str[]="hello"; int len_a =
sizeof
(a); int len_arr =
sizeof
(arr); int len_str...
sizeof
用法详解
操作数可以是
一个
表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、
sizeof
的使用方法 1、用于数据类型
sizeof
使用形式:
sizeof
(type) 数据类型必须用括号括住。如
sizeof
(int)。 2...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章