全局变量

全局变量可以在C语言的所有函数中使用,其作用域从定义位置到程序结束。局部变量只限于所在函数内部,未初始化时局部变量会有默认值`-585993460`,而全局变量则是0。全局变量用于增加函数间数据联系,但过多使用并不推荐。

定义在函数内部的变量叫做局部变量,定义在函数外部的变量叫做全局变量。局部变量只能在该函数内部才能使用,而全局变量可以被整个C语言中所有的函数所公用,他的作用范围是从定义的位置开始一直到整个C语言程序结束。所以根据定义位置的不同,全局变量的作用域范围不同。

在一个函数中即可以使用本函数的局部变量,也可以使用有效的全局变量。

#include<stdio.h>
int a = 10; //全局变量
int main(void)
{
	int a = 5; // 定义一个同名的局部变量
	printf("a = %d\n", a);
	return 0;
}

在这里插入图片描述
所以定义变量的时候局部变量和全局变量最好不要重名。此外,如果局部变量未初始化,那么系统会自动将“-585993460”放进去,但是如果全局变量未初始化,那么系统会自动将其初始化为0,他们的这个区别主要源自于他们存储空间的不同,局部变量是栈中分配的,而全局变量是在静态存储区中分配的。只要是在静态存储区中年分配的,如果未初始化则系统都会自动将其初始化为0,下面我们来验证一下。

#include<stdio.h>
int a; // 全局变量
int add(int n);
int main(void)
{
	int b;
	printf("b = %d\n", b);
	printf("a = %d\n", a);
	add(b);
	return 0;
}
int add
博客
v8worker
05-08 2962
05-06 2947
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值