C语言学习3-认识变量的作用域及生命周期

一、作用域与变量声明

1、作用域

作用域( scope ):程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。

例:

全局变量作用域:整个项目

局部变量作用域:局部变量a在"{}"内,即局部变量作用域在变量的局部范围

int g = 2024;//全局变量
//printf("1:%d\n",g);   语法错误
int main() {
	printf("hello world\n");
	printf("1:%d\n",g);

	
//	{
//		int a = 10;//此时报错,局部变量a在"{}"内
//	}
	
	{
		printf("2:%d\n", g);
		int a = 10;
		printf("a=%d\n", a);
	}

	printf("3:%d\n", g);
	
	return 0;
}

打印结果:可以看出全局变量作用于整个项目

2、变量声明

创建源文件add,在源文件add中 定义整型变量g(全局变量),如图

在原源文件test中,写入主函数,此时报错。

原因未找到定义g,需要进行变量声明“extern”

// extern int g; 声明变量

int main() {
	printf("%d\n", g);

	return 0;
}

结果:

二、生命周期


变量的生命周期:变量的创建和销毁之间的时间段
局部变量的生命周期:进入局部范围生命开始,出局部范围生命结束
全局变量的生命周期:程序的生命周期

例:

int main() {
    {
        int a = 10;//局部变量
        printf("%d\n",a);
    }//局部截止
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值