考虑该计划
main() { printf("%d %d %d",sizeof('3'),sizeof("3"),sizeof(3)); }
gcc编译器的输出是:
4 2 4
为什么会这样?
假设您在32位系统上运行:
sizeof一个字符文字’3’是4,因为字符文字是C语言中的整数(但不是C ++)。
sizeof“3”是2,因为它是一个长度为2的数组文字(数字3加上NULL终结符)。
sizeof literal 3是4,因为它是一个int。
要记住以下几点:
有了这些差异很容易解释:
引用K&R,
每个编译器都可以自由选择适合自己硬件的大小,只受限于short和int至少为16位,long为至少32位,short不长于int,不超过long 。
sizeof()输出取决于您使用的编译器
以上就是c/c++开发分享C中的运算符sizeof()相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/560085.html