C语言系列——局部变量和全局变量

来源:互联网 发布:好看的耽美文知乎 编辑:程序博客网 时间:2024/06/10 02:04

引言:

              变是永远不变的——知识的理解也是如此。

概述:

              小编今天为大家带来C语言系列第一篇博客,局部变量和全局变量。我们编程的过程中,接触多的是面向对象的局部变量和全局变量,现在我们来谈谈面向过程的全局变量和局部变量,这俩者在概念上没有核心区别,核心还是在面向过程和面向对象性质本身,面向对象体现封装,面向过程则是具体。

内容:

              一 什么是局部变量

              1 定义 一个过程中定义的变量称之为局部变量,该过程在C语言中可以看成一个函数,在面向对象语言中可以看成一个方法。

              2 特点:

                 (1) 不同函数中可以使用相同名字的变量,它们代表不同变量,互不干扰,原因在于占用不同的内存单元。

                 (2) 函数的形式参数也属于局部变量的范畴,例如f1(a,b),f2(c,d);f2中不能使用a与b。

                 (3)特例:一个函数中有多个复合语句,也叫作程序块,一个符合语句中定义的变量只能在本复合语句中使用。实例:俩个for循环的参数不同,一个为i,一个j;i和j不能同时出现在同一个for循环中,嵌套除外。

              二 什么是全局变量

              1 定义可以被其作用域范围内所有函数使用的变量,称之为全局变量。

              2 特点

                 (1)一个函数改变了全局变量的值,共享到其他函数。

                 (2)没有必要不要使用全局变量

                        1)在程序的全部执行过程中都占用存储单元。

                        2)函数通用性降低,受到全局变量的制约。

                        3)全局变量过多,降低程序的清晰性,增加阅读代码的压力。

              3 实例:a.b均为全局变量

#include <stdio.h>int a=3,b=5;void main(){    int c = 0;    c = a * b;    printf("%d\n",c);}

              三 对比联系

             1 定义上不同,一个函数体外一个函数体内;

             2 作用域上不同,一个函数体内部,一个从定义开始到结束。

             3 联系:若一个程序中,局部变量和全局变量同名,则在局部变量的作用域中屏蔽全局变量,即全局变量不起作用。

总结:

               全局变量和局部变量要看所处什么环境,不同环境起到不同的作用,我们应当灵活使用。

0 0