c语言中变量的作用域和生命周期及其使用方法

从头开始系统化学习C语言!

第一章 学习c语言第一天
第二章 学习c语言第二天
第三章 学习c语言第三天
第四章 学习c语言第四天



前言

记录一下第四天的学习!有帮助的话点个赞吧!


一、作用域是什么?

作用域(scope)是限定名字可用性的代码范围
局部变量的作用域是变量所在的局部范围,而全局变量的作用域是整个工程
通俗的说变量在哪里可以使用,那里就是它的作用域。
举个栗子吧!

1.局部变量的作用域

代码如下:

#include<stdio.h>
int main()
{
    
    
	int a = 10;//局部变量
	printf("%d", a);
	return 0;
}

效果如下:

在这里插入图片描述

代码如下:

#include<stdio.h>
int main()
{
    
    
	{
    
    
		int a = 10;//局部变量
	}
	printf("%d", a);
	return 0;
}

效果如下:

在这里插入图片描述

此代码执行失败的原因在于定义的变量a只作用在{}内部,所以无法打印

2.全局变量的作用域

代码如下:

#include<stdio.h>
int a = 10;//全局变量
int main()
{
    
    
	printf("%d", a);
	return 0;
}

效果如下:

在这里插入图片描述

全局变量就不会出现上述无法执行的问题!

代码1如下:

int a = 10;//全局变量

代码2如下:

#include<stdio.h>
extern int a;//声明变量
int main()
{
    
    
	printf("%d", a);
	return 0;
}

效果如下:

在这里插入图片描述

两个源文件使用同一个变量时需要声明!

二、生命周期是什么?

生命周期创建变量销毁变量间的时间段
局部变量的生命周期是进入作用域时生命周期开始离开作用域时生命周期结束,而全局变量的生命周期是整个程序开始到结束间的时间段
举个栗子吧!

1.局部变量的生命周期

代码如下:

int main()
{
    
    
	{
    
     //周期开始
		int a = 10;
		printf("%d", a);
	} //周期结束
	return 0;
}

效果如下:

在这里插入图片描述

2.全局变量的生命周期

代码如下:

//周期开始
int b = 10;
int main()
{
    
    
	printf("%d", b);
	return 0;
}//周期结束

效果如下:

在这里插入图片描述

总结

以上就是今天学习的内容,介绍了c语言中变量的作用域和生命周期,希望对大家有所帮助,喜欢可以点个赞哦。

猜你喜欢

转载自blog.csdn.net/qq_53085623/article/details/128604654