##### 类型限定符
- 类型限定符
- **类型限定符**用于修饰基本数据类型, 以增加变量的特性和行为
- 语法
- `const`
- 表示变量的值不能被修改, 即只读变量
- `volatile`
- 提示编译器变量可能在程序控制外被改变, 避免优化
- `restrict`
- 用于指针, 表明指针是访问目标数据的唯一方式
- `_Atomic`
- 表示变量是原子类型, 支持多线程安全操作
- 示例
```c
const int max_value = 100;
// max_value = 200; // 错误:不能修改 const 变量
volatile int status_register;
while (status_register == 0) {
// 编译器不会优化此循环
}
void process_data(int *restrict p1, int *restrict p2);
// 提示指针是唯一访问目标数据的方式
_Atomic int atomic_var = 0;
atomic_var++;
// 提供线程安全的原子操作
```