一、volatile
1、用于声明易变的变量,表明该变量可以在程序的控制之外被修改。
2、这通常用于硬件操作或多线程编程,以防止编译器进行不必要的优化。
代码如下(示例):
#include <stdio.h>
int main() {
volatile int sensorValue; // 使用 volatile 修饰的变量
// 模拟外部事件,可能会修改 sensorValue
while (1) {
// 从外部获取传感器值,例如硬件输入
sensorValue = readSensor();
printf("Sensor Value: %d\n", sensorValue);
}
return 0;
}
二、const
1、“const” 用于
1、表明该变量的值在初始化后不能被修改。
2、这提高了代码的可读性和可维护性,因为它明确表示变量是不可变的。
代码如下(示例):
#include <stdio.h>
int main() {
const int maxAttempts = 3; // 使用 const 修饰的整数常量
// 以下行将导致编译错误,因为常量不可修改
// maxAttempts = 4;
printf("Maximum Attempts: %d\n", maxAttempts);
return 0;
}
输出结果:Maximum Attempts: 4
2、“const” 用于修饰指针
1、表示指针指向的对象是不可修改的。
代码如下(示例):
#include <stdio.h>
int main() {
int value = 42;
const int* constPtr; // 使用 const 修饰的指向整数的指针
constPtr = &value; // 指针指向 value,但不允许通过 constPtr 修改 value
// 以下行将导致编译错误
// *constPtr = 10;
printf("Value: %d\n", *constPtr);
return 0;
}
输出结果:Value: 42