前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C语言】作用域 和 生命周期

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

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

🥰目录

🎉 学习的内容

🎉 作用域

🎉 代码

🎉 生命周期

🎉 代码

😈 extern

🎉 学习的内容

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

🎉 作用域

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

🎉 代码

代码语言:txt
复制
    示例👉代码如下所示👇
代码语言:javascript
复制
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

// 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
}
代码语言:txt
复制
   说明🙌在上述代码是关于作用域的代码说明,也标明了注释,去多多理解它。

🎉 生命周期

代码语言:txt
复制
    说明🧑‍💻生命周期指的是变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
  1. 局部变量的生命周期是进入作用域周期开始,出作用域生命周期结束。
  2. 全局变量的生命周期是整个程序的生命周期。

🎉 代码

代码语言:txt
复制
    示例👉代码如下所示👇
代码语言:javascript
复制
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

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);
}
代码语言:txt
复制
    运行结果📑
代码语言:javascript
复制
全局变量g_test=1
局部变量i     =2
代码语言:txt
复制
    说明🙌在上述代码是关于生命周期的代码说明,配合代码上手,去多多理解它。 

😈 extern

代码语言:txt
复制
    说明🙌由于博主之前写过一篇过于 **extern** 关键字,这里就不再过多描述了。  

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🎉 学习的内容
  • 🎉 作用域
    • 🎉 代码
    • 🎉 生命周期
      • 🎉 代码
      • 😈 extern
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档