头文件定义全局变量_5.2 C++局部变量与全局变量 | 输出局部全局变量

120b18a71b6085f4278751dccd769242.png

C++局部变量

C++局部变量是指:在一个函数内部定义的变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它,在此函数以外是不能使用这些变量的。

同样,在复合语句中定义的变量只在本复合语句范围内有效,如下就是局部变量:

#include
  • 主函数不能使用其他函数中定义的变量。
  • 不同函数中可以使用同名的变量,它们代表不同 的对象,互不干扰。
  • 可以在一个函数内的复合语句中定义变量,这些变量只在本复合语句中有效。
  • 形式参数也是局部变量。
  • 在函数声明中出现的参数名,其作用范围只在本行的括号内。
  • 主函数main中定义的local_Variable就是局部变量,只在主函数中有效,不会因为在主函数中定义而在整个文件或程序中有效。

C++全局变量

C++全局变量:是指在函数之外定义的变量,如下:

#include

建议读者尽量不要使用全局变量,原因有以下几点

  • 全局变量在程序的全部执行过程中都占用存储单 元,而不是仅在需要时才开辟单元。
  • 它使函数的通用性降低了,因为在执行函数时要 受到外部变量的影响。
  • 使用全局变量过多,会降低程序的清晰性。

读者需要了解一点:如果在同一个源文件中,全局变量与局部变量 同名,则在局部变量的作用范围内,全局变量被屏 蔽,即它不起作用,设全局变量的作用是增加函数间数据联系的渠道。

变量的有效范围称为变量的作用域,归纳起来,变量有4种不同的作用域

  • 文件作用域
  • 函数作用域
  • 块作用域
  • 函数原型作用域

文件作用域是全局的,其他三者是局部的,除了变量之外,任何以标识符代表的实体都有作用域,概念与变量的作用域相似。

经典案例:C++输出局部与全局变量。

源码分析:

#include

编译后的结果:

全局变量的值:
5.2 C++局部变量与全局变量​mp.weixin.qq.com
96705f71a9ab9783e98710e41d09fa28.png

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

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

相关文章

java float转换成long_在Java中如何将float转换为long或int数据类型?

float f1.2f;double dDouble.parseDouble(String.valueOf(f));System.out.println(d);直接转换会设计到精度问题,所以需要借助字符串 保证不丢失数据www.shufadashi.com防采集。楼主您好,如果float是个整数,强制转换即可,可以捕捉…

Spark 1.2 发布,开源集群计算系统

2019独角兽企业重金招聘Python工程师标准>>> Spark 1.2 发布,此版本包括 172 位贡献者和超过 1000 个 commits。 此版本包括 Spark 核心操作和性能改进;添加新的网络传输子系统,进行了较大的改进;Spark SQL 引入了一个…

[转载].SSRAM、SDRAM和Flash简要介绍

转CalmBright兄的博文:http://www.cnblogs.com/CalmBright/archive/2009/07/19/1526569.html Abstract 在用NIos II 调试sdram遇到了其容量计算的问题,现介绍如下 Introduction 问题1:什么是DRAM、SRAM、SDRAM? 答:名词…

调整 Docker 中 nginx 的日志级别

调整 Docker 中 nginx 的日志级别Intro最近发现我们的一个应用产生了很多日志,而这些日志大多都是 nginx 的 access_log,我们默认会把标准输出收集到 es 里分析应用日志,但是很多都是 access_log 就可能会掩盖掉真实的错误日志,所…

Oracle B-Tree Index 原理

一. B-Tree Index 原理 官网说明: No index structure can satisfy all needs, but the self-balancing B-tree index comes closest to optimizing the performance of searches on large sets of data. Each B-tree node holds multiple keys and pointers. The m…

曾改变世界的最强科学,为什么我们对它的误解却越来越多?

古往今来,我们评价一个人有学识,总是形容:“上知天文下知地理”。也会要求一个人“读万卷书,行万里路”。美国认知心理学家Nora S. Newcombe认为:孩子常常看地图、爱看地图,能提高他们的空间想象力&#xf…

java语言程序设计一_java语言程序设计(一)-1

java 语言的特点是:强类型,制定了比较多的语言规范,尽可能在编译阶段检测出更多的错误及警告。编译和解释,首先将源代码编译成codebyte,运行时,java的运行系统装载和链接需要执行的类,并做必要的…

oracle 创建自增列及其oracle表的字段的子节点的查询

首先创建序列: create sequence 序列名 start with 1 increment by 1 nomaxvalue nocycle 其次创建触发器: create or replace trigger 触发器名 before insert on 表名称 for each rowbeginselect 序列名.nextval into:new.表的列名 from dual;end;…

多线程环境下,程序真是危机四伏

姿势在不断的更新迭代, 太卷了。你管这也叫线程安全?最近大意了,竟然想将《面试官:实现一个带值变更通知能力的Dictionary》一文中的临界锁只应用到写操作。内心旁白:读操作又不会修改数据,无论是新值还是旧…

眼见不一定为实!18个神奇的视错觉,看完不相信眼睛系列

全世界只有3.14 % 的人关注了爆炸吧知识来源:普象工业设计小站在家长时间网上冲浪总有时候感觉眼睛出了毛病不信,你看为啥这个明明是个三棱锥怎么突然变成了正方体我是“瞎”了么啊啊啊啊后来,去找了资料才发现这原来是一家幻觉博物馆的展品玩…

怎么用java ee编程_Java EE应用程序入门 - 编程入门网

Java EE应用程序入门时间:2011-07-06 netbeans.org本文将详细介绍使用 EJB 3.0 技术开发企业应用程序的基础知识,而 EJB 3.0 是 Java EE 5 平台的组成部分。本文还将阐述如何通过 EJB 3.0 技术简化开发企业应用程序的流程。本文使用的是 NetBeans IDE 6.0 发行版。先…

vb6 由于超出容量限制 不能创建新事务_分布式限流?你也能轻松玩转(没啥新技术)...

点击蓝色「日拱一兵」关注,持续侦破 Java 技术案件一、什么是限流?为什么要限流?不知道大家有没有做过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为…

Managing Gigabytes--文本压缩

开门见山,文本压缩可以归纳为两大类, 符号方法和字典方法, 下面分别介绍下: 1)符号方法,symbolwise method普通编码方式是每个字符都采用相同位数编码, 比如asc码, 每个字符都是8位编码。那么现…

Linux学习笔记 1 环境变量 2 vi命令

1 环境变量篇 1.1 修改 查看 生效 系统环境变量 1 涉及系统环境变量的文件 --> .bash_profile --> /etc/profile 2 该文件位置 /root/.bash_profile 3 文件编辑器打开 vi .bash_profile 4 文件末尾加入 JAVA_HOME /usr/share/jdk 1.6.0 PATH $JAVA_HOME/bin:$PA…

一个简单的存储过程

存储过程实现循环取出以特定字符间隔的字符串的单个字符串比如:ab,cdsfd,efdf,owoief,lows实现存储过程后的结果为:abcdsfdefdfowoieflows 这样就可以对这些数据进行循环执行操作 存储过程:if exists(select * from sysobjects where namepro…

基于事件驱动架构构建微服务第8部分:在应用程序上实现事件溯源

原文链接:https://logcorner.com/building-microservices-through-event-driven-architecture-part8-implementing-eventsourcing-on-application/在本文中,我将讨论应用程序上的事件溯源实现。该层围绕领域并实现用例(特定于应用程序的业务规…

我们来聊点成年人的话题!

1 这个话题透漏着成年人都存在的问题,其中心思想行走在道德底线,让人不得不深思,句句入心2 哈哈哈哈哈哈哈哈哈哈哈哈哈画面惊人 图自动漫次元酱3 对不起,我不是你家的鸡,我是一只大鸟!!&#x…

python3 csv读写_在python3中读取、更新和写入更新的CSV文件

我正在创建一个应用程序来本质上充当一个资产数据库,我试图打开一个CSV文件,读取值并相应地更新它们。我看到很多关于如何读写CSV文件的教程,但是我找不到一个详细介绍如何迭代CSV文件和更新单个值的教程。理想情况下,与列表相比&…

js数字相加

las_number Number(ads) Number(abs),转载于:https://www.cnblogs.com/gengaixue/archive/2011/07/08/2100971.html

js获取int类型长度_js代码比较大小前需要把string转换int

今天在写代码时发现一个容易忽略的问题,写下来以供参考这是做的一个验证,设置的最小值minValue不能小于参数本身的最小值min当输入正数的时候都没有问题,但是输入负数时就出现问题了正确设置参数var minValue -30 ,var min -300 ,console.l…