extern int globalVariable = 0;这样的操作会出现什么问题?
时间: 2024-04-16 15:23:54 浏览: 84
GlobalVariable - MetaTrader 5EA.zip
在C语言中,`extern int globalVariable = 0;` 这样的操作会导致编译错误。这是因为在使用 `extern` 关键字声明变量时,变量不能进行初始化赋值。
当你使用 `extern` 关键字声明一个变量时,它告诉编译器该变量在其他文件中已经定义。因此,在声明时不需要进行赋初值的操作。如果你在 `extern` 声明时进行了赋值操作,编译器会认为它是一个定义,并且会在编译时报错。
如果你想为 `extern` 声明的变量赋初值,应该将赋值操作放在变量的定义处,而不是在声明处。
例如,在一个文件中进行变量的定义和赋初值:
```c
// file1.c
int globalVariable = 0;
```
然后,在其他文件中使用这个全局变量的外部声明:
```c
// file2.c
extern int globalVariable;
```
这样,全局变量可以在其他文件中使用,并且在定义处进行了赋初值的操作。
阅读全文