全局变量和 局部变量的区别?
如果没有外部变量?main函数里的变量就是全局变量把?
int max(int x,int y)
{int z;
z=x>y?x:y;
return(z);
}
main()
{extern A,B;
printf("%d\n",max(A,B));
}
int A=13,B=-8; 这个例子中外部变量在最后.但是因为它的存在.main中的变量也是局部变量马?
如果没有extern说明 main里的变量还是局部变量把? 展开
区别:
局部变量:“在函数内定义的变量”,即在一个函数内部定义的变量,只在本函数范围内有效。
全局变量:“在函数外定义的变量”,即从定义变量的位置到本源文件结束都有效。
当有外部变量时,main函数中的同名变量就是全局变量。如果没有外部变量,main函数里的变量依然是局部变量。
目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。
扩展资料:
在现代的面向对象语言如Java,C++,C#,Ruby中,由于变量都是封装在类里面的,对别的类不可见,所以已经几乎完全抛弃了全局变量的概念。然而,可以通过把一个类定义为public static,把类成员变量也定义为public static,使该变量在内存中占用固定、唯一的一块空间,来实现全局变量的功能。
参考资料:百度百科全局变量
一、有效范围不一样
局部变量只在本函数范围有效,在此函数以外是不能使用这些变量;
全局变量的有效范围是从定义变量的位置开始到本源文件结束。
二、内存空间不同
局部变量是程序运行到该函数时给该变量分配内存空间,函数结束则释放该内存空间;
全局变量是程序运行时事先分配内存空间,当程序结束时释放内存。
三、使用区间不同
全局变量:作用于整个c程序文件;
局部变量:作用于所属语句块或函数中。
扩展资料
全局变量是编程术语中的一种,源自于变量之分。
变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。
全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。
参考资料
全局变量和局部变量的区别如下:
1. 作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等
2. 内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区
3. 生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了
4. 使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量。
扩展资料:
局部变量可以与全局变量重名,但是局部变量会屏蔽全局变量。
全局变量是编程术语中的一种,源自于变量之分。
变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。
全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。
全局变量是指在整个程序中都可用,而局部变量只是在定义他的那个{}里可用!出了那个{}他就没意义了!
你这个程序是函数的参数调用!程序的意思是:定义了两个全局变量(个人认为这里定义成局部变量也没什么)并比较这两个变量中最大的值。这里是调用了一个用户自定义函数来比较的!