extern int 是什么意思
时间: 2024-02-05 09:07:17 浏览: 28
"extern int"表示该变量在其他地方已经定义过了,这里只是声明该变量的存在,以便在本文件中使用该变量。这种声明方式通常用于多个文件共享同一个全局变量的情况。在使用"extern int"声明变量时,不会为该变量分配内存空间,只是告诉编译器该变量的存在,实际的内存分配是在定义该变量的文件中进行的。
举个例子,如果在一个文件中定义了一个全局变量a,另一个文件需要使用该变量,可以使用"extern int a"声明该变量的存在,以便在该文件中使用该变量。
```c
// file1.c
int a = 10;
// file2.c
extern int a;
int b = a + 5;
```
相关问题
extern变量是什么意思
extern 是 C/C++ 中的一个关键字,用于声明一个变量是在其他文件中定义的全局变量或函数。也就是说,它告诉编译器这个变量或函数是在其他文件中定义的,不需要在当前文件中进行定义,只需要在当前文件中进行声明即可。这样可以避免出现重复定义的问题。
例如,我们在一个文件中定义了一个全局变量,如下所示:
```
int globalVariable = 10;
```
如果我们想在另一个文件中使用这个变量,而不是重新定义一个同名的变量,我们可以在另一个文件中使用 extern 关键字进行声明,如下所示:
```
extern int globalVariable;
```
这样编译器就知道 globalVariable 是在其他文件中定义的全局变量,可以在当前文件中使用它了。
extern是什么意思
### 回答1:
在C/C++中,extern是一个用于声明变量或函数的关键字,它表示这个变量或函数在其他地方已经定义过了,当前文件只是引用它,而不是定义它。使用extern关键字可以让多个文件共享同一个变量或函数,从而实现模块化编程和代码重用。
具体来说,当我们在一个文件中使用extern关键字声明一个变量或函数时,编译器会将它标记为外部变量或函数,表示这个变量或函数的定义存在于其他文件中。在编译过程中,编译器不会为这个变量或函数分配内存空间,因为它的定义不在当前文件中。相反,编译器会在链接过程中查找这个变量或函数的定义,然后将它们连接到一起,形成一个可执行文件。
例如,假设我们有两个文件a.c和b.c,它们都需要使用同一个全局变量x。我们可以在一个文件中定义这个变量(例如a.c),并在另一个文件中声明它(例如b.c):
```
//a.c
int x = 10; //定义全局变量x
//b.c
extern int x; //声明外部变量x
```
在b.c文件中使用extern关键字声明变量x时,编译器会知道这个变量的定义在其他文件中,并且会在链接时将它们连接起来,从而实现变量的共享。
### 回答2:
extern 是C语言中的一个关键字。它用于声明一个变量或函数是在其他源文件中定义的。简单来说,当我们在一个源文件中使用extern声明一个变量或函数时,它就可以被其他源文件中的定义所引用和调用。
在C语言中,源文件一般会被分为多个模块,每个模块有自己的独立作用。有时候,我们需要在一个模块中访问另一个模块中定义的变量或函数,这时就可以用到extern。因为不同的模块是分别编译的,所以要使用的变量或函数必须先进行声明,以便在连接的时候能够正确找到定义。
通过使用extern关键字,我们可以在使用变量或函数之前,用extern关键字声明它们的存在。这样,编译器就会知道这些变量或函数是在其他模块中定义的,同时也会在连接的时候找到它们的定义。这种机制使得我们可以更好地模块化代码,方便地在不同的模块之间进行交互和共享数据。
总结一下,extern在C语言中的作用就是用来声明在其他源文件中定义的变量或函数,以便在当前模块中使用。它提供了不同源文件之间进行变量和函数共享的机制,使得模块化的代码开发更加方便和灵活。
### 回答3:
extern是C/C++编程语言中的一个关键字,用于声明外部变量或函数。
在C/C++中,如果需要在某个源文件中使用其他源文件中定义的全局变量或函数,并且这些全局变量或函数的定义在其他文件中,则需要使用extern关键字进行声明。
对于变量而言,使用extern关键字声明时,可以用来引用其他文件中已定义的全局变量,如:
extern int global_var;
这表示global_var是在其他源文件中定义的全局变量,我们可以在当前文件中引用它,而不需要重新定义。
对于函数而言,使用extern关键字声明时,可以用来引用其他文件中已定义的函数,如:
extern void func();
这表示func()是在其他文件中定义的函数,我们可以在当前文件中调用它,而不需要重新定义。
另外,extern关键字也可以用来定义全局变量或函数,但是一般不推荐使用,因为会造成全局变量或函数的重复定义,应该将全局变量或函数的定义放在一个文件中。
总结起来,extern关键字的作用就是用来声明外部变量或函数,使得在一个源文件中可以使用其他文件中已定义的全局变量或函数。