extern
用于指示变量或函数是在其他文件中定义的,但在当前文件中也要使用它。extern
。// uart.c
int uart_receive_buffer = 0;
// main.c
extern int uart_receive_buffer; // 使用 extern 声明在 uart.c 中定义的 uart_receive_buffer
int main() {
// 使用 uart_receive_buffer 进行某些操作
return 0;
}
static
用于修饰局部变量和函数,使它们的作用域限定在定义它们的文件中。static
。static
修饰的变量会保留其值,即使函数调用已经结束。// helper.c
void increment_and_print() {
static int counter = 0;
counter++;
printf("Counter: %d\n", counter);
}
在 main.c
文件中使用这个函数
// main.c
void increment_and_print(); // 声明函数
int main() {
increment_and_print(); //Counter: 1
increment_and_print(); //Counter: 2
return 0;
}
const
用于声明一个变量为常量。一旦常量被初始化,其值就不能再被修改。const int LED_PIN = 5;