[C/C++]多个源文件访问同一全局变量_extern声明

有三个源文件A、B、C需要共享一个全局变量count;(他们都有.h和.cpp)

正确的方法是:在头文件A.h中声明全局变量count(注:省略此声明依然可以通过编译,但是此声明表明了全局变量定义的位置,增加代码可读性);


“`A.h

extern int a;       //声明

 

“`A.cpp

#include “A.h”

int a = 3;            //定义

 

“`B.cpp

#include “A.h”

extern int a;       //声明

 

“`C.cpp

#include “A.h”

extern int a;       //声明

需要注意的是:链接属性为external的全局变量可以声明多次,但只能定义一次

因此不能够将全局变量定义在头文件中,否在会因为头文件被多次引用而造成变量多次定义,进而导致链接失败。