要extern一个变量该怎么做?

来源:百度知道 编辑:UC知道 时间:2024/06/20 18:37:08
比如说
int main(void)
{
int x;
function1();
function2();
function3();
return 0;
}
void fuction1()
{
extern int x;
.....
}
如果 整个文件里 有好几个地方有定义x(main(),function2(),function3()),如果我在function1()里extern了一个x,貌似会出错啊……
extern 是不是不能这样用?只能用在全局变量上?

extern用于声明一个变量而不是定义它.如果是在单个文件里面,你可以先用extern声明一个变量,然后写使用这个变量的语句,然后再写此变量的定义语句并且不会出错,它更主要的用途是用在多文件程序里面,可以在一个文件里面定义而在其他文件里面使用,这两种情况均要求是全局变量.而局部变量的作用域仅在定义的函数或块内可以使用.

extern用于多个源文件的情况。例如在源文件1里定义了全局变量x,在源文件2里要引用这个变量时,就要声明extern。你的用法是不正确的。你的需求可以通过传值或传址来实现。

extern struct问题--extern和struct不能一起使用吗?该怎么使用呢? (VB)现在要读入一个文本文件,以行为单位,把各行的字符另存为一变量(有n行就有n个变量),该怎么做?谢 C++编程,能举一个外部变量(extern)的例子给我看吗 用extern引用外部声明的变量,该外部声明的变量可以放在引用语句后面? 在工程中的一个文件要调用另一个文件的变量除了可以使用静态变量还可以怎么做? c语言中,如何把字符串,如“abcdef”赋值个一个变量,怎么定义该变量?? 关于C语言中extern声明外部变量的问题! 做网页时做一个登录界面怎样让几个模块都承认登录的这个用户?是不是设一个变量,那用vb代码该怎么写 asp怎么把一个变量赋值给另一个变量 delphi 想一个变量经过一个小时后变量的值自动改变成另一个,请问要怎么实现???