extern int 如何使用
时间: 2024-05-07 21:19:18 浏览: 72
`extern` 是一个关键字,用于声明一个全局变量或函数在其他文件中定义。当您在一个文件中声明一个变量或函数为 `extern`,它表示该变量或函数在其他文件中定义,并且可以在当前文件中使用。这样可以避免在多个文件中重复定义同一个变量或函数。
例如,您可以在一个文件中声明一个全局变量,如下所示:
```
extern int global_var;
```
然后,在另一个文件中定义该变量并初始化:
```
int global_var = 10;
```
这样,您就可以在第一个文件中使用该变量,而不需要重新定义它。
类似地,您也可以使用 `extern` 声明一个函数,如下所示:
```
extern void my_function(int arg1, int arg2);
```
然后,在另一个文件中定义该函数:
```
void my_function(int arg1, int arg2) {
// 函数实现
}
```
这样,您就可以在第一个文件中调用该函数,而不需要重新定义它。
相关问题
解释下面这段代码#ifndef _CLI_H_ #define _CLI_H_ extern int cli_show_open(); extern int cli_show_open_2(); extern int cli_show_open_3(); //open 1 2 3 功能参考ZYYcli.c ZYY注 extern int cli_query_Volume(); extern int cli_query_Brilliance_control(); extern int cli_query_Daily(); extern int cli_query_Web(); extern int cli_query_Timing(); #endif
这段代码是一个头文件,以宏定义的方式防止多次包含。它声明了一些函数的外部接口,这些函数用于在命令行界面(CLI)中显示或查询不同的配置项。其中,cli_show_open()、cli_show_open_2() 和 cli_show_open_3() 函数用于显示不同的 "open" 功能,这些功能参考了 ZYYcli.c 文件中的实现。cli_query_Volume()、cli_query_Brilliance_control()、cli_query_Daily()、cli_query_Web() 和 cli_query_Timing() 函数则分别用于查询音量、亮度、每日任务、网络设置和定时设置的值。这些函数的具体实现应该定义在其他的源代码文件中,而这个头文件只是提供了这些函数的声明,以便其他的源代码文件可以使用它们。
extern int left; extern int right,jiansu;
这段代码中的 `extern` 关键字用于声明变量,表示该变量在其他文件中定义。具体来说,`extern int left;` 和 `extern int right, jiansu;` 声明了三个整型变量 `left`、`right` 和 `jiansu`。
这样的声明可以让编译器知道这些变量在其他文件中已经定义,从而在当前文件中可以使用这些变量而不会报错。但是需要注意的是,在当前文件中使用这些变量时,需要确保这些变量在其他文件中的定义是可见的。
通常,当你在一个文件中使用了 `extern` 声明变量时,你需要确保在其他文件中有对应的定义。例如,你可以在其他文件中定义这些变量,如下所示:
```c
// 在其他文件中定义 left、right 和 jiansu
int left;
int right;
int jiansu;
```
这样,在你的当前文件中,就可以使用这些变量了。注意,这些声明和定义要保持一致,包括类型和变量名。
`extern` 关键字的作用是告诉编译器这些变量已经在其他地方定义了,它们的实际定义和内存分配是在其他文件中完成的。这样可以实现跨文件共享变量的功能。
阅读全文