int和extern
时间: 2023-11-06 13:05:08 浏览: 43
int是C/C++语言中的一种数据类型,用于表示整数。而extern是C/C++中的一个关键字,用于声明一个全局变量或函数,表示该变量或函数在其他文件中定义。
对于非const的全局变量,默认情况下它们在外部文件可见,可以通过添加extern关键字或不添加extern关键字来声明。这是因为非const全局变量默认情况下就是"extern"的,而const全局变量默认没有"extern",如果想在其他文件中访问const全局变量,则必须显式地添加extern关键字。
对于函数的声明,本身就是extern全局声明,只是省略了extern关键字。因为函数的声明和定义是明显区分开的,不存在重复定义问题,所以函数不需要考虑extern全局声明。extern关键字主要用于C/C++混合编译中。
需要注意的是,使用extern关键字声明的全局变量必须初始化,并且只能初始化一次。
相关问题
extern int
`extern int`是一种变量或函数声明,它表示该变量或函数在其他文件中定义。在当前文件中使用`extern int`声明的变量或函数,编译器会在链接时在其他文件中查找其定义。这种声明通常用于在多个文件中共享变量或函数。
例如,引用中的`extern int p(void);`声明了一个函数`p`,该函数在另一个文件中定义。在`main`函数中调用`p`函数时,编译器会在链接时查找`p`函数的定义。
另外,`extern int i;`声明了一个整型变量`i`,该变量在另一个文件中定义。在引用中,`int i = 3;`定义了变量`i`的值为3。在引用中,`i`变量被使用,编译器会在链接时查找`i`变量的定义。
extern int
extern int是一个C语言的关键字,用于声明一个全局变量或函数。它表示该变量或函数在其他文件中定义,当前文件中仅做声明。
例如,如果在一个源文件中声明了一个全局变量或函数,并在另一个源文件中定义它,那么在声明的地方使用extern关键字可以告诉编译器该变量或函数是在其他地方定义的。
举个例子,假设我们有两个源文件:main.c和helper.c。在helper.c中定义了一个全局变量x,并在main.c中使用它,我们可以在main.c中使用extern来声明这个变量:
// helper.c
int x = 5;
// main.c
extern int x;
// 在这里可以使用变量x
这样编译器就知道变量x是在其他文件中定义的,并且可以正确地使用它。