局部变量,全局变量

本文详细介绍了C语言中的局部变量和全局变量。局部变量包括普通局部变量和静态局部变量,它们的区别在于生命周期和存储区域。全局变量分为普通全局变量和静态全局变量,全局变量在所有函数中可见,但多文件编译时需避免重复定义。静态全局变量通过static修饰,降低了全局可见性。总结来说,C语言中的变量类型和作用域是理解程序内存管理的关键。
摘要由CSDN通过智能技术生成

一文搞懂C语言局部变量,全局变量

局部变量

基本概念:局部变量一般又分为普通局部变量和静态局部变量。
普通局部变量:一般指定义在函数中的普通变量。
静态局部变量:静态局部变量同样定义在函数中,但是变量类型前面会由static关键字修饰,表示其为静态局部变量。下面展示代码,看一看局部变脸和全局变量的具体区别。

#include <stdio.h>
void func()
{
	int i = 0;
	printf("普通局部变量i:%d\n",i);
	i++;
}
void func_static()
{
	static int i = 0;
	printf("静态局部变量i:%d\n",i);
	i++;
}

int main()
{
	//调用两次含有普通局部变量的函数func
	func();
	func();
	printf("-------------------------\n");
	//调用两次含有静态局部变量的函数func_static
	func_static();
	func_static();
	return 0;
}

运行上面的程序得到如下结果

普通局部变量i:0
普通局部变量i:0
-------------------------
静态局部变量i:0
静态局部变量i:1

由以上程序和运行结果可以查看出,静态局部变量的效果有些类似于全局变量,它的生命周期不随着函数执行结束而结束,它存在与静态存储区,而不是栈区。

全局变量

基本概念</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值