C单片机关键字extern、static 和 const
2023-12-26 11:36:17
C单片机关键字extern、static 和 const
extern
1 定义
extern
用于指示变量或函数是在其他文件中定义的,但在当前文件中也要使用它。
2 使用场景:
- 当你想在一个文件中使用另一个文件中定义的全局变量或函数时,你可以使用
extern
。 - 它只是声明,不分配内存或分配存储空间。它只是告诉编译器变量或函数在其他地方有定义。
3 示例:
// 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
1 定义:
static
用于修饰局部变量和函数,使它们的作用域限定在定义它们的文件中。
2 使用场景:
- 当你不想让一个局部变量或函数在其他文件中可见时,可以使用
static
。 - 在函数内部,
static
修饰的变量会保留其值,即使函数调用已经结束。
3 示例:
// 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
1 定义:
const
用于声明一个变量为常量。一旦常量被初始化,其值就不能再被修改。
2 使用场景:
- 当你需要定义一个在程序运行期间不会改变的常量或变量时。
- 当你希望确保某个值在代码的执行过程中保持不变性时。
3 示例:
const int LED_PIN = 5;
文章来源:https://blog.csdn.net/wagnbo/article/details/135214355
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!