sizeof既是关键字,又是运算符(操作符),但不是函数!
2016-02-26 12:31
387 查看
sizeof是关键字吗
sizeof是关键字,这一点毋庸置疑。你不能将sizeof定义为任何标识符。查看C语言标准文档里的说明:sizeof是运算符(操作符)吗
C语言中,sizeof是运算符(操作符),而且是唯一一个以单词形式出现的运算符,它用来计算存放某一个量需要占用多少字节,它的结合性是从右到左。查看C语言标准文档里的说明:sizeof是函数吗
sizeof不是函数。产生这样的疑问主要是因为有时候sizeof的外在表现确实有点类似函数,比如:i = sizeof(int);这样的式子,就很容易让人误以为sizeof是一个函数呢。但如果sizeof是函数,那么sizeof i;(假设i为int变量)这种式子一定不能成立,因为函数的参数不可能不用括号括起来。事实上这个sizeof i;可以正常运行,这就说明sizeof绝对不是函数。sizeof用法
sizeof顶着关键字的光环,发挥着(单目)运算符的作用。它主要用来计算某一个量在当前系统中所需占用的字节数:常用类型大小测试:
普通变量大小测试:
常量大小测试:
注:计算sizeof('A');时,在C语言中这会发生隐式类型转换,将字符'A'转换为整型,但在C++中不会转换,sizeof('A')的值仍为1。一维数组大小测试:
多维数组大小测试:
指针大小测试:
字符串大小测试:
小结
对语法存疑时,多查资料,以官方标准文档为准,并上机测试。相关文章推荐
- uva 10382 Watering Grass
- memcached/Redis 区别
- Android 混淆代码总结
- android studio build.gradle 中的dependencies 的 compile jar文件
- Excel,一个单元格两种颜色
- Android VersionCode和VersionName的作用
- Qt::WA_DeleteOnClose 造成的野指针问题
- 快速排序
- Leet Code OJ 292. Nim Game [Difficulty: Easy]
- 【设计模式】10、外观模式
- Linux 下的(防火墙)iptables
- UVa Dragon of Loowater 11292 (贪心)
- Xcode 报错 ERROR ITMS-90096,启动图黑屏
- MongoDB 博客截图之一
- js获取页面及个元素高度、宽度
- 《Effective C++》考虑virtual函数以外的其他选择
- 用实例分析listener filter serlvet
- c#版三层登录
- BUG归因
- 前台获取信息