当前位置:首页 > 通信资讯 > 正文

c语言变量作用域生存周期(c语言变量生存周期)

目录
  • 1.全局变量和局部变量
  • 2.变量的作用域
    • 2-1.声明外部变量的方法
  • 3.变量的生命周期
    • 4. 局部变量&自动变量
      • 总结

        1.全局变量和局部变量

        定义在代码块外部的是全局变量

        定义在代码块内部的是局部变量

        什么是代码块?

        ?
        1 2 3 4 5 //这是代码快外部 int main() { //这是代码块内部 }

        实际上用int main来演示是不太对的,实际使用的时候我们定义变量是在int main内部定义的

        下面这个例子更加清晰明了

        ?
        1 2 3 4 5 6 7 8 9 int main() { int i = 0;//这是代码块外部-i全局变量 for(i=0;i<10;i++) {//代码块开始 int j=0;//这是代码块内部-j局部变量 for(j=0;j<10;j++) }//代码块结束 }

        需要注意的是:

        同一个变量a可以在全局,局部变量中间同时使用,局部变量优先

        这里是指同时存在,同时使用,但不能同时定义

        在局部的代码块中重新定义一个全局变量是错误的

        下面这种形式就是 同时使用一个变量

        ?
        1 2 3 4 5 6 7 8 9 int main() { int sz = 8; int i = 0; if(i<sz) { i=1; } }
        • 在我们定义变量的时候,变量的名字不能相同
        • 同时变量的名字也不应和库函数名相同

        简单的说就是变量不要重复,也别和库函数冲突

        2.变量的作用域

        变量的作用域->变量的生效区域

        • 局部变量只在它自己的代码块中生效
        • 全局变量的作用域是整个代码

        注:在VS中全局变量的作用域是整个工程

        作用域的规定了变量生效区域

        如果你在局部变量的代码块外部使用这个局部变量

        这样是无效的,无法使用

        2-1.声明外部变量的方法

        在vs中全局变量的作用域是整个工程

        但是如果源文件不同,我们需要打一串声明来应用工程文件中另外一个源文件的全局变量

        ?
        1 extern int a

        以下是声名变量和定义变量的代码示例

        ?
        1 2 3 4 extern int a;//声明全局变量a int a; //定义全局变量a extern int a =0 ;//定义全局变量a 并给初始值 int a =0;//定义全局变量a,并给初始值

        3.变量的生命周期

        生命周期这个概念和作用域十分相似

        • 局部变量的生命周期从进入"{“开始,离开”}"结束
        • 全局变量的生命周期是整个程序(VS项目)

        4. 局部变量&自动变量

        局部变量又称自动变量

        ?
        1 auto int a = 0;

        实际使用的时候我们一般都是省略auto的

        总结

        本片文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

        原文链接:https://blog.csdn.net/muxuen/article/details/119994969

        如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

        为您推荐:

        发表评论

        ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。