Login
网站首页 > 文章中心 > 其它

c语言全局变量和局部变量_c语言中局部变量和全局变量的区别是什么

作者:小编 更新时间:2023-07-21 16:22:43 浏览量:151人看过

根据使用范围来区分的。

1。局部变量

他是 指在函数内部定义的变量 作用域为定义局部变量的函数 也就是说他只能在定义他的函数中使用

最值得注意的是迟缓 只有在程序执行到定义他的模块时才能生成,一旦执行退出该模块则起变量消失

eg.

func ()

{

int x; 局部变量x的作用域 很明确

......

}

2。全局变量

在程序执行的过程中一直有效

int x=1;

x=x◆1;

func1 ()

x=x-1;

main ()

由此不难看出整型x的作用范围

对于全局变量 如果在定义的时候不做初始化 则系统将自动为起赋值 数值型为0

字符型为空'\0'

全局变量的弊端 增加内存开销 降低函数的通用性

定义全局变量时 理码郑模想的位置是在文件的开头 当这些函数以及同一个程序中的其他源程序文件中的某些函数需要使用该全局变量时 在函数内部对该变量使用extern 加以说明 说明他是外部的

(这里还要做详细的讲解)

extern int a,b;

printf ("mIn is %d\n",min(a,b));

int a=1,b=2;

int min (x,y)

int x,y;

int z;

z=x

return(z);

我还要说明的是 对外部变量的说明和对全局变量的定义不是一回事

对外部变量的说明 只是声明丛圆该变量是在外部定义过的一个全局变量 在这里引用 而对全局变量的定义则是要对起分配存储单元的

一个全局变量只能定义一次 可是却可以多次引用

*** 在同一源文件中,全局变量和局部变量同名时,在局部变量的作用域内,全局变量不起作用的。

1)局部变量只在本函数范围有效,在此函数以外是不能使用这些变量;全局变量的有效范唯昌围是从定义变量的位置开始到本源文件结束。

2)局部变量是程序运行到该函数时给该变量分配内存空间指差扒,函数结束则释放该内存空间;全局变量庆闷是程序运行时事先分配内存空间,当程序结束时释放内存。

全局变量就是整个源程序都有效的变量;而局部厅闭变量会在其所属的函数或循环等结束后消亡。

整个程序都要用的变量定义全局变量亏圆,如果就是某个函数用的话,就定义局部变量,以便其他函数可以重新定义同名变量来使用。

要是都用全局变量,那遇到大程序时,程序是由不同人分别编各自的模块或函扮空裂数,不能避免定义同名变量,到时就会冲突。

全局变量就是整个源程序都有效的变量;而局部变量会在其所属的函数或循环等结束后消亡。整个程序都要用的变量定义全局变量,如果就是某个函数用的话,就定义扮空裂局部变量,以便其他函数可以重新定义同名变量来使用。 要是都用全局变量,那遇到大程序时,程序是由不同人分别编各自的模块或函亏圆数,不能避免定义同名厅闭变量,到时就会冲突。

C

一. 局部变量&全局变量

1 局部变量:"在函数内定义的变量",

即在一个函数内部定义的变量,只在本函数范围内有效。

2 全局变量:"在函数外定义渗弯敬的变量",

即从定义变量的丛慎位置到本源文件结束都有效。

目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,

就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。

为了便于区别两者,C程序设计人员有一个习惯,将全局变量名的第一个字母用大写表示。如:float Max=0,Min=0; //定义全局变量Max,Min

以上内闹吵容可再查阅C语言理论知识。当然实践出真知,多写几次跑一跑就知道对应的区别啦

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章