B.5.11 sizeof运算符

假设

type与上一节描述的一样;

a是一个表达式;

则表达式

sizeof(type)包含特定类型值所需的字节数;

sizeof a保存a的求值结果所必需的字节数;

如果type为char,则结果将被定义为1。如果a是(显式地或者通过初始化隐式地)维数确定的数组名称,而不是形参或未确定维数的数组名称,那么sizeof a会给出将元素存储到a中必需的位数。

如果a是一个类名,则sizeof(a)会给出保存a的实例所必需的数据结构大小。

通过sizeof运算符产生的整数类型是size_t,它在标准头文件<stddef.h>中定义。

如果a是长度可变的数组,那么在运行时对表达式求值,否则在编译时求值,因此它可以用在常量表达式中(参见“常量表达式”一节)。