全局变量不能放在头文件当中

来源:互联网 发布:知乎图标矢量图 编辑:程序博客网 时间:2024/06/09 16:59

看网上各种说法说 变量的声明和变量的定义,但是还是没有讲清楚什么是声明什么是定义,如果说定义要分配内存,声明不分配,

这个谁都知道。

刚我在VS2012中测试;

按理说 int i;  只是声明吧

但是我在一个头文件当中声明 int i;

然后两个CPP文件都调用这个.C文件,出现了重定义错误;

我改为 int i = 8;

运行也是报错误,重定义;

 

人们说,在头文件当中只能声明,不能定义变量,实在搞不懂这句话是什么意思,

反正在头文件当中放置全局变量不是好的习惯,以后在头文件当中避免放置全局变量就好!

因为总归来说在头文件放置全局变量会引发一些问题。

 

如果博友谁可以讲清楚 到底 什么是声明什么是定义?麻烦在下面评论一下。

比如 我在main函数里面

int i; i我不显示赋值,我查看内存这个时候i是一个乱码,说明已经有内存了,

是不是说这个 int i 已经是定义了?那什么是声明?

 

0 0