【C语言】作用域 和 生命周期

  •   WRITE IN FRONT        

  • 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四"
  • 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大博主、华为云享专家、阿里云专家博主、掘金优秀创作者、全网粉丝量7w+、个人社区人数累计4w+、全网访问量100w+
  • 本文章内容由 謓泽 原创 如需相关转载请提前告知博主 ⚠
  • 创作时间:2022 年 12 月 10 日
  • 个人主页:謓泽的博客 
  • 专栏系列:【电子】系列_謓泽的博客
  • Gitee:謓泽 (wsxsx) - Gitee.com ⭐️
  • 点赞+ 收藏⭐️+ 留言​
  • ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本

目录

学习的内容 

作用域

代码   

 生命周期

代码  

extern

学习的内容 

        概述这篇文章主要讲述的是何为 作用域 和 生命周期,以及带大家理解它的概念。当然,作用域也是会包含两个重要的概念的。一个是局部变量、还有一个是全局变量,可以说这篇文章内容还是对于前期学习的朋友是非常重要的。因为,在今后的学习当中它可以为你学习打下坚实的基础。

作用域

        说明‍如果要按照官方点的说法的话,作用域(scope)是程序的设计概念,通常来说的话,一段程序当中的代码的"名字"并不总是有效或者说是可用的。但是,博主觉得没必要这样去理解。因为,这样可能对于新手来说并不是友好的。直接用最简单最通俗的话语给大家讲解下:变量的作用域在哪里使用,哪里就是变量的作用域。配合相关知识点去打代码的话你的理解也会越深的。

  1. 局部变量的作用域是在变量所在的局部范围内。
  2. 全局变量的作用域是在整个工程的。

代码   

        示例代码如下所示

#define _CRT_SECURE_NO_WARNINGS 1
#include

// 1.作用域:变量的作用域在哪里使用,哪里就是变量的作用域。
extern void Scope_varible();

int main(void)
{
	Scope_varible();	// 变量的作用域
	return 0;
}

void Scope_varible()
{
	int a = 10;								// 'a->'是在这个范围的,此时都可以被打印。因为它的作用域是在函数的大括号里面。
#if 0
	{
		int a = 10;							// 'a->'是在这个范围内申请的,出了这个范围'a'就无效了,因为它的这个作用域只是在这个'a'的大括号里面并不在这个函数里面。
		printf("在变量作用域范围%d\n", a);
	}
	printf("不在变量作用域范围%d\n", a);		// 'a'->未声明标识符。
#endif
}

       说明在上述代码是关于作用域的代码说明,也标明了注释,去多多理解它。

 生命周期

        说明‍生命周期指的是变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。

  1. 局部变量的生命周期是进入作用域周期开始,出作用域生命周期结束。
  2. 全局变量的生命周期是整个程序的生命周期。   

代码  

        示例代码如下所示

#define _CRT_SECURE_NO_WARNINGS 1
#include

int g_test = 1;	//整个程序的生命周期。   

// 2.生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
extern void Globaland_local();

int main(void)
{
	Scope_varible();	// 变量的作用域
	return 0;
}

void Globaland_local()
{
	int i = 2;	//进入函数{}作用域周期开始,出函数{}作用域生命周期结束。

	printf("全局变量g_test=%d\n", g_test);
	printf("局部变量i     =%d\n", i);
}

        运行结果

全局变量g_test=1
局部变量i     =2

        说明在上述代码是关于生命周期的代码说明,配合代码上手,去多多理解它。 

extern

        说明由于博主之前写过一篇过于 extern 关键字,这里就不再过多描述了。  

【C语言】extern 关键字_int addtwonum()_謓泽的博客-CSDN博客⒈描述⇢extern 变量称之为外部存储变量。⒉定义⇢extern 在声明了此程序当中将要用到但尚未定义的外部变量。⒊注意⇢通常,外部存储类型都用于声明在另一个转换但又中定义变量。_int addtwonum()https://blog.csdn.net/weixin_52632755/article/details/127227644

你可能感兴趣的:(【C】系列,C语言,作用域,生命周期,全局变量,局部变量)