弄透外部变量和全局变量和局部变量

首先
外部变量一定是个全局变量
而全局变量不一定是个外部变量.
因为inlcude "xxx.h"的本质就是复制粘贴.
整个项目内 有且仅能有一个 全局变量的定义.
这个全局不是一整个源文件,而是一整个项目.
只能被定义一次
你在函数体外写一个 int k;这不是声明,这是定义加声明.
只有 extern int k,才是纯粹的声明
当你在main.cpp代码里敲下 extern int k;的时候
就是在告诉你的编译器,我要用这个int k,我声明了,但是我不知道在哪里,你要自己去找,找到之后给我,这是我的全局变量.

然后你的编译器就会开始反思,我之前预处理的时候,有没有碰到过一个叫 int k 的全局变量?然后你的编译器想到了,在某个
test.cpp里,定义过一个,注意是定义过一个int k;
这个时候k就拿来用了.

故 extern的意思就是 声明一个全局变量
但这个变量不是我这个cpp定义的,你要自己去找.
语句处理的顺序是 .
先预处理每个cpp文件内的
函数体外的部分
再从main函数开始运行

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值