18-混合运算符
B.2.10 混合运算符
sizeof 给出它右边运算对象的大小,单位是 char 的大小。通常, char 类型的大小是 1 字节。运算对象可以圆括号中的类型说明符,如 sizeof(float) ,也可以是特定的变量名、数组名等,如 sizeof foo 。 sizeof 表达式的类型是 size_t 。
_Alignof (C11)给出它的运算对象指定类型的对齐要求。一些系统要求以特定值的倍数在地址上存储特定类型,如 4 的倍数。这个整数就是对齐要求。
(类型名)是强制类型转换运算符,它把后面的值转换成圆括号中关键字指定的类型。例如, (float)9 把整数 9 转换成浮点数 9.0 。
, 是逗号运算符,它把两个表达式链接成一个表达式,并保证先对最左端的表达式求值。整个表达式的值是最右边表达式的值。该运算符通常在 for 循环头中用于包含更多的信息。
示例
for (step = 2, fargo = 0; fargo < 1000; step *= 2)
fargo += step;