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