extern有哪些作用
时间: 2023-05-23 18:04:55 浏览: 41
A:extern是C和C++中的一个关键字,它有以下几种作用:
1.声明一个函数或变量在其他的文件中定义
2.声明一个外部变量,使得该变量可以被其他文件访问
3.声明一个函数,使得该函数可以在其他文件中被调用
4.用于在多文件编译中避免重复定义
5.用于定义一个变量或函数的存储类别为extern (默认存储类别是auto)
总之,extern主要用于在不同的源文件中共享变量和函数。
相关问题
extern修饰变量有什么作用
`extern` 修饰变量的作用是表明该变量是在其他文件中定义的,但在本文件中也需要使用它。这通常用于多个源文件之间共享变量。
当我们在一个源文件中声明一个 `extern` 变量时,编译器会在编译过程中将该变量标记为“在其他文件中定义”。在链接过程中,连接器会搜索其他文件以找到该变量的实际定义,并将其与我们的文件关联起来。
需要注意的是,`extern` 关键字只是用于声明变量,而不是定义变量。因此,在使用 `extern` 关键字声明变量时,变量的实际定义应该在其他文件中。
extern关键字的作用?
`extern` 是 C 和 C++ 中的关键字,它用于声明一个变量或函数是在其他源文件中定义的,从而告诉编译器在链接时在其他源文件中寻找该变量或函数的定义。
在 C 语言中,`extern` 可以用于两个方面:
1. 在一个源文件中声明一个变量,而该变量的实际定义在另一个源文件中。这个时候,`extern` 起到了扩展变量作用域的作用。
2. 在一个源文件中声明一个函数,而该函数的实际定义在另一个源文件中。这个时候,`extern` 起到了函数声明的作用。
在 C++ 中,`extern` 的作用与 C 语言中类似,但是 C++ 中还可以用于声明一个变量或函数是在另一个文件中定义的,同时这个变量或函数是在其他文件中定义的,它不在同一个命名空间中,这个时候使用 `extern` 可以让编译器知道在其他命名空间中寻找该变量或函数的定义。
示例:
```
//file1.c
int a; //定义一个全局变量a
//file2.c
extern int a; //声明变量a是在其他源文件中定义的
//file3.c
extern int func(); //函数声明,函数定义在其他源文件中
```