【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<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
}

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

🎉 生命周期

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

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

🎉 代码  

        示例👉代码如下所示👇

#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);
}

        运行结果📑

全局变量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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/286273.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

暂时性死区:JavaScript 中隐藏的陷阱

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

分布式数据库事务故障恢复的原理与实践

关系数据库中的事务故障恢复并不是一个新问题&#xff0c;自70年代关系数据库诞生之后就一直伴随着数据库技术的发展&#xff0c;并且在分布式数据库的场景下又遇到了一些新的问题。本文将会就事务故障恢复这个问题&#xff0c;分别讲述单机数据库、分布式数据库中遇到的问题和…

记事本在手机桌面上怎么找?手机里的记事本怎么找?

在日常生活、工作和学习中&#xff0c;我们时常需要随手记录一些重要的事项、灵感闪现的瞬间或者是待办的任务。比如&#xff0c;在超市购物前&#xff0c;列出购物清单&#xff1b;在开会时&#xff0c;记下重要的讨论点&#xff1b;在学习时&#xff0c;捕捉那一刹那的灵感。…

58.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏菜单文字资源读取的逆向分析

内容来源于&#xff1a;易道云信息技术研究院VIP课 之前的内容&#xff1a;接管游戏的自动药水设定功能-CSDN博客 码云地址&#xff08;master分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;34b9c1d43b512d0b4a3c395b…

JavaScript中BOM操作【通俗易懂】

✨前言✨   本篇文章主要在于了解JavaScript中BOM(即浏览器对象模型),以及对它的简单使用 &#x1f352;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f352;博主将持续更新学习记录收获&#xff0c;友友们有任何问题可以在评论区留…

Unity | 渡鸦避难所-5 | 角色和摄像机之间的遮挡物半透明

1 前言 角色在地图上移动到岩石后面时&#xff0c;完全被岩石遮挡&#xff0c;玩家只能看到岩石。这逻辑看起来没问题&#xff0c;但并不是玩家想要看到的画面&#xff0c;玩家更希望关注角色的状态 为了避免角色被遮挡&#xff0c;可以使用 Cinemachine Collider 功能&#x…

‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。这个问题如何解决?

这个错误信息 vue-cli-service 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件 表示 vue-cli-service 命令在你的系统上未被识别。这通常是因为 Vue CLI 没有被正确安装或其路径没有被加入到系统的环境变量中。以下是几个解决这个问题的步骤&#xff1a; 确认 …

二维码地址门牌系统物业采集端:打造智能化、便捷化的住户登记体验

文章目录 前言一、集成先进科技&#xff0c;提升登记效率二、简化登记流程三、实际效果与应用价值四、未来展望 前言 在科技不断进步的时代&#xff0c;追求智能化与便捷化的生活方式已成为人们的目标。二维码地址门牌系统物业采集端应运而生&#xff0c;为居民提供全新的登记…

怎样消除图片上的水印三招教你如何图片去水印

在数字的洪流中&#xff0c;图片已成为我们生活的一部分&#xff0c;仿佛绿洲之于沙漠。然而&#xff0c;有时这些图片会带上水印&#xff0c;如美玉上的瑕疵&#xff0c;既影响了视觉的美感&#xff0c;也可能阻碍了我们的使用。那么&#xff0c;如何揭去这层恼人的面纱呢&…

微服务-OpenFeign-工程案例

Ribbon 前置知识 是NetFlix的开源项目&#xff0c;主要来提供关于客户端的负载均衡能力。从多个服务提供方&#xff0c;选取一个节点发起调用。 Feign:NetFlix,SpringCloud 的第一代LB&#xff08;负载均衡&#xff09;客户端工具包。 OpenFeign:SpringCloud自研&#xff0c…

STM32G030F6P6读写flash失败问题(HAL)

STM32G030是F0系列的升级版&#xff0c;其在性能上比F0要好很多&#xff0c;具体G0参数如下&#xff1a; 最开始做项目选用的单片机是STM32F030F4P6&#xff0c;但是在后期使用中发现&#xff0c;我的FLASH&#xff08;16K&#xff09;不够用了&#xff0c;就选择了STM32G030F6…

基于YOLOv8深度学习的人脸面部表情识别系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

深入剖析ShardingSphere:探索其内核原理与核心源码,揭秘分库分表技术的奥秘

一、 内核剖析 ShardingSphere虽然有多个产品&#xff0c;但是他们的数据分片主要流程是完全一致的。 解析引擎 解析过程分为词法解析和语法解析。 词法解析器用于将SQL 拆解为不可再分的原 子符号&#xff0c;称为Token。 并根据不同数据库方言所提供的字典&#xff0c;将其…

掌握 Postman Newman:快速启动 API 测试自动化

Postman 中的 Newman 是什么&#xff1f; Newman 是一个 CLI&#xff08;命令行界面&#xff09;工具&#xff0c;用于运行 Postman 中的集合&#xff08;Collection&#xff09;和环境&#xff08;Environment&#xff09;来进行自动化测试。它允许直接从命令行运行 Postman …

解决VMware 虚拟机 ubuntu 20.04 异常关闭导致虚拟网卡 ens33 无法工作问题

问题描述 由于经常使用 SSH 远程链接 VMware 中的虚拟机 ubuntu&#xff0c;每次关闭都是挂起&#xff0c;时间久了&#xff0c;虚拟机运行有些卡顿了&#xff0c;此时可以通过 Linux 命令重启或者关闭 ubuntu&#xff0c;也可以之间使用 VMWare 中的【虚拟机】-- 【电源】-&g…

SpringCloudAlibaba之Nacos

1、简介 Nacos支持基于DNS和基于RPC的服务发现&#xff0c;服务端可以通过SDK或者Api进行服务注册&#xff0c;相应的服务消费者可以使用DNS或者Http查找的方式获取服务列表。Spring Cloud 服务注册中心的服务器很多&#xff0c;如 Zookeeper、Eureka、Consul 等。 Spring Clou…

CCNP课程实验-02-EIGRP_CFG

目录 实验条件网络拓朴需求&#xff1a; 基础配置需求实验1. R4/R5/R6通过二层交换机连接&#xff0c;按照实验拓扑图来宣告路由器接口到相应的EIGRP进程&#xff0c;没有具体说明的可任意宣告&#xff0c;要求关闭自动汇总。2. R2 --- R3上启用EIGRP认证&#xff08;采用MD5进…

SM2——适用于前后端(java+vue)公用的SM2国密加解密传输

目录 一、SM2国密加解密算法1.1、pom文件引入依赖包1.2、SM2加解密工具类1.3、测试类 一、SM2国密加解密算法 1.1、pom文件引入依赖包 <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk18on</artifactId><version>…

JMeter使用

目录 启动JMeter 创建线程组 设置线程参数 设置http请求参数 ​编辑 创建查看结果树(显示成功/失败多少以及返回结果等信息) 创建聚合报告(显示响应时间、吞吐量、异常数等信息) 点击上方的执行按钮即可开始压力测试 结果树显示 聚合报告结果显示 启动JMeter 在JMete…

产品经理学习-从0-1搭建策略产品

从0-1搭建策略产品 目录&#xff1a; 回顾策略产品 如何从0-1搭建策略产品 回顾策略产品 之前也了解过从产品实施的角度来看&#xff0c;策略就是针对问题的解决方案&#xff0c;在互联网时代更集中体现在2个维度&#xff1a;业务场景和数据应用 如何从0-1搭建策略产品 我们…