当前位置:   article > 正文

弄透外部变量和全局变量和局部变量_外部变量和全局变量一样吗

外部变量和全局变量一样吗

首先
外部变量一定是个全局变量
而全局变量不一定是个外部变量.
因为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函数开始运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/算法创新者/article/detail/63306
推荐阅读
相关标签
  

闽ICP备14008679号