C常数表达式
常数表达式在编译时计算,不运行时,可用于可使用常数的任何位置。 常数表达式的计算结果都必须是在该类型中可用的值范围内的常数。 常数表达式的操作数可以是整数常数、字符常数、浮点常数、枚举常量、类型转换, sizeof 表达式和其他常量表达式。
语法
常数表达式:
条件表达式条件表达式:
表达式。逻辑或表达式**?** 表达式**:** 条件表达式
表达式:
赋值表达式表达式**,** 赋值表达式
赋值表达式:
条件表达式一元表达式赋值运算符分配表达式
赋值运算符:一个
= *=/= %= += – = AMP_LTAMP_LT= AMP_GTAMP_GT= = ^=|=
结构声明、枚举、直接声明、直接抽象声明和 labeled 语句的非包含非终止符号 常数表达式 。
必须使用整型常数表达式指定结构、值的枚举常量,大小的数组或 用例 常数的值的位域成员的大小。
使用预处理器指令的常量表达式是受其他的限制。 因此,它们称为 “受限制的常数表达式”。受限制的常数表达式不能包含 sizeof 表达式、枚举常量、类型转换为任何类型或浮点类型的常量。 它可能,但是,包含特定常数表达式 defined (标识符)。