定义:
int x = 0;
// 这是对变量x进行定义并初始化,定义在一个模块中只能进行一次
声明:
extern int x;
// 这是声明本模块将引用一个叫x的int型数据,但它不在本模块定义。
写一个.h头文件:
extern int x;
// 告诉编译器包含此头文件的模块将使用这么一个变量,其定义在某个模块中,千万不要在这里定义或对该变量赋值,否则就出现你那个编译错误,即重复定义错误。
在适当的模块中写出上面的定义,这个就是变量实体。
在所有用到这个变量的模块(.c或.cpp源代码文件)中,包含上述头文件。