sizeof既是关键字,又是运算符(操作符),但不是函数!

本文深入解析C语言中的sizeof运算符,澄清其是否为关键字、运算符还是函数的疑惑,并详细介绍其使用方法,包括不同类型和结构的大小测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:https://www.cnblogs.com/kangjianwei101/p/5219984.html

  • 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。
    在这里插入图片描述

  • 一维数组大小测试:
    在这里插入图片描述

  • 多维数组大小测试:
    在这里插入图片描述

  • 指针大小测试:
    在这里插入图片描述

  • 字符串大小测试:
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值