在C语言中,常量表达式是指由常量和运算符组成的表达式,其值在编译时即可确定。以下是常见的规则总结:
| 规则 | 说明 |
| 1 | 常量表达式只能包含字面量、枚举常量、宏定义等固定值。 |
| 2 | 不允许使用变量或函数调用。 |
| 3 | 支持基本运算符(+、-、、/、%)和位运算符。 |
| 4 | 常量表达式可用于数组大小、case标签、结构体成员对齐等场景。 |
| 5 | 编译器在编译时会进行计算,确保结果为整数类型。 |
例如:`define MAX 100` 是合法的常量表达式,而 `int a = 5; int b = a + 10;` 中的 `a + 10` 不是常量表达式。
合理使用常量表达式可提高代码可读性和效率。