在项目中有时会用到跨文件的全局变量,这次在实现鼠标事件时,用到了全局变量,在此记录、总结当前所学习到的内容。
头文件中不要定义变量: 如果你的头文件被多次引用,那么一个变量会被定义多次。
**头文件中可以对变量进行声明,使用 extern **
变量的定义和声明
-
声明:是告诉编译器我要用个什么类型的变量,并给它起个名字,并不为它分配内存;
-
定义:负责创建与关键字相关联的实体,即编译器会为该变量分配内存,可以赋值;
-
声明可以有多次,但是定义只有一次;
-
头文件中可以对变量进行声明,注意要加上
extern
, 否则时定义。
extern int a; // 这是变量的声明
extern int a = 5; // 这是定义,不是声明
int a; // 这是定义
int a = 5; // 这是定义
全局变量实现
当前在头文件中使用 extern
对全局变量进行声明,在要使用它的文件中包含其头文件。并在主文件中对其进行定义。子文件中就可以实现对它的访问和修改了。