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

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

这个谁都知道。

刚我在VS2012中测试;

按理说 int i;  只是声明吧

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

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

我改为 int i = 8;

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

 

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

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

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

 

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

比如 我在main函数里面

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

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

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值