C语言类型限定符 #
一、const限定符 #
1.1 常量变量 #
c
const int MAX = 100;
1.2 指针与const #
c
const int* p;
int* const p;
const int* const p;
1.3 函数参数 #
c
void print(const char* str) {
printf("%s\n", str);
}
二、volatile限定符 #
2.1 作用 #
防止编译器优化,每次都从内存读取。
2.2 使用场景 #
c
volatile int flag = 0;
while (flag == 0) {
}
2.3 硬件寄存器 #
c
volatile unsigned int* reg = (volatile unsigned int*)0x1000;
三、restrict限定符 #
3.1 作用 #
告诉编译器指针是唯一访问该内存的方式。
3.2 使用示例 #
c
void copy(int* restrict dest, const int* restrict src, int n) {
for (int i = 0; i < n; i++) {
dest[i] = src[i];
}
}
四、总结 #
| 限定符 | 作用 |
|---|---|
| const | 只读 |
| volatile | 禁止优化 |
| restrict | 独占访问 |
下一步,让我们学习可变参数!
最后更新:2026-03-26