一、问题
如何引⽤⼀个已经定义过的外部变量?
二、解答
如果在⼀个⽂件中定义了⼀个外部变量 a,在另⼀个程序⽂件中再定义⼀个外部变量 a,就会产⽣⼀个“重复定义”的错误,那么怎样引⽤⼰经定义的外部变量呢?
引⽤被定义过的外部变量有两种⽅式。⼀是⽤引⽤头⽂件的⽅式,⼆是⽤ extern 关键字来引⽤⼰经定义过的外部变量。
说明:使⽤引⽤头⽂件的⽅式来引⽤某个头⽂件中的外部变量,如果变量名书写错误,则在编译时提⽰错误;
使⽤ extern 关键字引⽤时,如果变量名书写错误,则在连接时提⽰错误。
使⽤ extern 关键字来引⽤⼰定义过的外部变量a 的⽅法是:
⾸先在⼀个⽂件中声明这 个外部变量,然后在另⼀个⽂件中使⽤ extern 关键字对这个变量a进⾏外
部变量声明。
这样在程序编译连接的时候,编译器就会知道变量a 是⼀个已经定义过的外部变量,并且将外部变量a的作⽤域扩⼤到该⽂件,在该⽂件中可以合法地使⽤这个外部变量 a。
三、总结
⽤⼰经定义过的外部变量可以⽤ extern 关键字,但是需要注意的是,⼀定要慎重使⽤多⽂件的外部变量,因为多⽂件的外部变量是在多个⽂件中被使⽤的,在某个⽂件的函数中被调⽤⼀次,变量的值就改变⼀次,这样就会影响到下⼀次对该变量的调⽤。