【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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络--作业

作业一 1、比较电路交换、报文交换和分组报文交换优缺点 电路交换 电路交换是以电路连接为目的的交换方式&#xff0c;通信之前要在通信双方之间建立一条被双方独占的物理通道&#xff08;由通信双方之间的交换设备和链路逐段连接而成&#xff09;。 优点&#xff1a; ①由于…

实战SRC | api接口未授权 + 越权漏洞

本文由掌控安全学院 - zxl2605 投稿 一次在fofa上通过学习的fofa语句进行查询&#xff0c;无意中查询到了一个网址 其登录界面如下&#xff1a; 使用浏览器的F12打开开发者工具&#xff0c;查看JS寻找接口&#xff1a; 从JS代码中查询到一处接口如下&#xff1a; 发现是以p…

bilibili深入理解计算机系统笔记(3):使用C语言实现静态链接器

本文是2022年的项目笔记&#xff0c;2024年1月1日整理文件的时候发现之&#xff0c;还是决定发布出来。 Github链接&#xff1a;https://github.com/shizhengLi/csapp_bilibili 文章目录 可执行链接文件(ELF)ELF headerSection header符号表symtab二进制数如何和symtab结构成员…

ELK+kafka+filebeat企业内部日志分析系统搭建

看上面的拓扑图&#xff0c;我们至少准备七台机器进行下面的实验项目。 机器主要作用分布如下: 三台安装elasticsearch来搭建ES集群实现高可用&#xff0c;其他机器就依次安装filebeat,kafka,logstash和kibana软件 一、部署elasticsearch来搭建ES集群 1.安装jdk 由于ES运行…

C语言数组习题

1.数组遍历 #include <stdio.h>int main(){int i,a[10];for(i0;i<9;i) //对数组元素a[0]~a[9]赋值 a[i]i;for(i9;i>0;i--) //输出a[9]~a[0]共10个数组元素 printf("%d ",a[i]);printf("\n");return 0;} 运行结果&#xff1a; 2.数组应用&a…

atoi函数的模拟实现

这里强力推荐一篇文章 http://t.csdnimg.cn/kWuAm 详细解析了atoi函数以及其模拟实现&#xff0c;我这里就不说了。 这里作者先把自己模拟的代码给大家看一下。 int add(char* arr) {char* arr2 arr;while (*arr!-48){arr;}arr--;int sum 0;int n 0;while (arr ! (arr2-…

如何构建高效测试体系?掌握5大自动化测试模式就够了

软件开发过程中&#xff0c;高效的自动化测试体系是提升测试效率、保证产品质量关键&#xff0c;一个全面的测试体系涵盖多个维度&#xff0c;从功能性到用户界面&#xff0c;再到性能和安全性。 每个维度均采用不同的测试模式来满足特定的需求和解决特别的挑战&#xff0c;本…

快速打通 Vue 3(三):Vue3 中的 watch 监听器与新特性

很激动进入了 Vue 3 的学习&#xff0c;作为一个已经上线了三年多的框架&#xff0c;很多项目都开始使用 Vue 3 来编写了 这一组文章主要聚焦于 Vue 3 的新技术和新特性 如果想要学习基础的 Vue 语法可以看我专栏中的其他博客 Vue&#xff08;一&#xff09;&#xff1a;Vue 入…

为什么国产操作系统是基于linux研发的呢?

为什么国产操作系统是基于linux研发的呢&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「Linux的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&…

2023年AIGC发展回顾与展望

2023年是人工智能内容生成&#xff08;AIGC&#xff09;技术飞速发展的一年。从年初ChatGPT一炮打响&#xff0c;大家纷纷加入到大模型研究之中。期间Midjourney和Stable Diffusion AI绘画技术持续火热&#xff0c;基于AIGC类的应用也如雨后春笋般遍地开花。万众瞩目的OpenAI G…

1.1 理解大数据(2)

小肥柴的Hadoop之旅 1.1 理解大数据&#xff08;2&#xff09; 目录1.1 理解大数据1.1.3 大数据概述1.1.4 更多思考 参考文献和资料 目录 1.1 理解大数据 1.1.3 大数据概述 step_0 大数据定义 【《大数据算法设计分析》】&#xff1a; 通常来讲大数据&#xff08;Big Data&am…

生态系统服务构建生态安全格局中的实践技术应用

生态安全是指生态系统的健康和完整情况。生态安全的内涵可以归纳为&#xff1a;一&#xff0c;保持生态系统活力和内外部组分、结构的稳定与持续性&#xff1b;二&#xff0c;维持生态系统生态功能的完整性&#xff1b;三&#xff0c;面临外来不利因素时&#xff0c;生态系统具…

解决jenkins的Exec command命令不生效,或者执行停不下来的问题

Jenkins构建完后将war包通过 Publish Over SSH 的插件发布到服务器上&#xff0c;在服务器上执行脚本时&#xff0c;脚本中的 nohup 命令无法执行&#xff0c;并不生效&#xff0c;我配置的Exec command命令是后台启动一个war包&#xff0c;并输出日志文件。 nohup java -jar /…

批量美化图片:让您的图片库焕然一新!

您是否曾经遇到过这样的问题&#xff1a;在处理大量图片时&#xff0c;一张一张地调整时间和精力成本太高&#xff1f;现在&#xff0c;我们为您带来了一款全新的批量图片美化工具&#xff0c;让您轻松解决这个问题&#xff01; 首先&#xff0c; 我们要进入首助编辑高手主页面…

/etc/profile文件一不小心改坏了,所有命令无法执行了怎么办?

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 问题描述&#xff1a; 在部署jdk的时候&#xff0c;修改/etc/profile文件&#xff0c;文件改得有问题&#xff0c;但是当时没有…

【elfboard linux开发板】5.vmware tools安装及uart属性的获取和设置

1. 安装VMware tools 系统&#xff1a;ubuntu22.04 虚拟机版本&#xff1a;VMware workstation 16 pro&#xff08;16.1.2&#xff09; VMware tools文件&#xff08;iso)一般在虚拟机目录下&#xff0c;如果没有&#xff0c;这是下载网址&#xff0c;找到对应的虚拟机版本下载…

ARM笔记-----输入捕获

输入捕获可以对输入的信号的上升沿、下降沿或者双边沿进行捕获&#xff0c;常用的有测量输入信号的脉 宽&#xff0c;和测量 PWM 输入信号的频率和占空比这两种。 输入捕获的大概的原理 当捕获到信号的跳变沿的时候&#xff0c;把计数器 CNT 的值锁存到捕获寄 存器 CCR 中…

2023机器人行业总结,2024机器人崛起元年(具身智能)

2023总结&#xff1a; 1.Chatgpt引爆了通用人工智能&#xff0c;最大的受益者或是机器人&#xff0c;2023年最热门的创业赛道便是人形机器人&#xff0c;优必选更是成为人形机器人上市第一股&#xff0c; 可以说2023年是机器人开启智能化的元年&#xff0c;而2024则将成为机器…

【动态规划】LeetCode-10. 正则表达式匹配

10. 正则表达式匹配。 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c;是要涵盖 整个 字符串 s的&#xff0c;而不是部分字符串。 …

winform简易用户权限管理系统

一、功能简介 1. 数据库可使用sqlite、mssql、mysql等 2. 管理员账号不管控&#xff0c;其余账号进行权限管控&#xff08;左侧菜单&#xff0c;表单按钮&#xff09;&#xff0c;且只能看到自己创建的角色、用户 二、操作界面 1. 管理员账号登陆后&#xff0c;左侧菜单栏自动…