常量 const

const 表示承诺不修改。编译器会拦下明显赋值错误,也向读者表明意图。

1. 例子

C
1const float VREF = 3.3f;
2const int MAX_LEN = 64;
3 
4/* VREF = 5.0f; // 编译错误 */
5printf("%.1f\n", VREF);

2. 与 #define 对比

对比项const#define
类型有无(纯文本)
调试易查看常被替换掉
作用域遵守块作用域预处理全局替换
推荐场景一般常量宏开关、头文件保护

3. 实际例子:配置表

C
1const uint16_t SAMPLE_PERIOD_MS = 10;
2const uint8_t I2C_ADDR = 0x68;
3const float KP = 1.2f;
4/* 一眼看出这些是只读配置 */