当前位置: 首页 > news >正文

C++ 变量作用域

C++ 变量作用域

作用域是程序的一个区域,一般来说有三个地方可以定义变量:

  • 在函数或一个代码块内部声明的变量,称为局部变量。

  • 在函数参数的定义中声明的变量,称为形式参数。

  • 在所有函数外部声明的变量,称为全局变量。

我们将在后续的章节中学习什么是函数和参数。本章我们先来讲解什么是局部变量和全局变量。

局部变量

在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。下面的实例使用了局部变量:

实例

#include <iostream>
using namespace std;int main ()
{// 局部变量声明int a, b;int c;// 实际初始化a = 10;b = 20;c = a + b;cout << c;return 0;
}

全局变量

在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。全局变量的值在程序的整个生命周期内都是有效的。

全局变量可以被任何函数访问。也就是说,全局变量一旦声明,在整个程序中都是可用的。下面的实例使用了全局变量和局部变量:

实例

#include <iostream>
using namespace std;// 全局变量声明
int g;int main ()
{// 局部变量声明int a, b;// 实际初始化a = 10;b = 20;g = a + b;cout << g;return 0;
}

在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。下面是一个实例:

实例

#include <iostream>
using namespace std;// 全局变量声明
int g = 20;int main ()
{// 局部变量声明int g = 10;cout << g;return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:


10

初始化局部变量和全局变量

当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值:

数据类型初始化默认值
int0
char'\0'
float0
double0
pointerNULL

正确地初始化变量是一个良好的编程习惯,否则有时候程序可能会产生意想不到的结果。

相关文章:

C++ 变量作用域

C 变量作用域 作用域是程序的一个区域&#xff0c;一般来说有三个地方可以定义变量&#xff1a; 在函数或一个代码块内部声明的变量&#xff0c;称为局部变量。 在函数参数的定义中声明的变量&#xff0c;称为形式参数。 在所有函数外部声明的变量&#xff0c;称为全局变量。…...

【状态未成功】CONFIG_CFI_CLANG失败过程记录

实现并没有成功&#xff0c;只是记录过程&#xff0c;使用4.9内核尝试开启过程 关于 控制流完整性 (CFI) 是一种安全机制&#xff0c;它不允许更改已编译二进制文件的原始控制流图&#xff0c;因而执行此类攻击变得异常困难。 在 Android 9 中&#xff0c;我们在更多组件以及内…...

基于消息调度优化启动速度方案实践

背景 在抖音的技术博客 https://juejin.cn/post/7080065015197204511#heading-10中&#xff0c;其介绍了通过修改消息队列顺序实现冷启动优化的方案&#xff0c;不过并未对其具体实现展开详细说明。 本文是对其技术方案的思考验证及实现。 详细代码见github: https://github.c…...

【C#】RemoveAt索引越界问题

系列文章 【C#】单号生成器&#xff08;编号规则、固定字符、流水号、产生业务单号&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器&#xff08;开始日期、结束日期&#xff09; 本文链接&#xff1a;h…...

【华为OD机试2023】工位序列统计友好度最大值 100% C++ Java Python

【华为OD机试2023】工位序列统计友好度最大值 100% C++ Java Python 前言 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能最优),不能保证通过率。 Tips1:机试为ACM 模式 你的代码需要处理输入输出…...

Rust Atomics and Locks 阅读笔记 第二章 Atomics

原子操作&#xff08;atomic operations&#xff09;是多线程实现的基石&#xff0c;互斥锁&#xff08;mutex&#xff09;和条件变量&#xff08;condition variable&#xff09;都是通过原子操作来实现&#xff1b;std::sync::atomic包括了rust的内置原子操作类型&#xff08…...

Helm3入门

目录 Helm三大概念 Chart Repository Release Helm相关命令 helm 命令公共参数 helm search hub/repo - 查找可用的Charts helm repo - 仓库操作 helm install - 安装Chart helm status - 查看release状态 helm show values - 查看Chart的values.yaml内容 helm get…...

动态规划-线性动态规划-最长上升子序列模型

title: 线性动态规划 date: 2023-05-12 08:49:10 categories: Algorithm动态规划 tags:动态规划 编辑距离 题目描述 设 A A A 和 B B B 是两个字符串。我们要用最少的字符操作次数&#xff0c;将字符串 A A A 转换为字符串 B B B。这里所说的字符操作共有三种&#xff1…...

ResNet 论文理解含视频

ResNet 论文理解 论文理解 ResNet 网络的论文名字是《Deep Residual Learning for Image Recognition》&#xff0c;发表在2016年的 CVPR 上&#xff0c;获得了 最佳论文奖。ResNet 中的 Res 也是 Residual 的缩写&#xff0c;它的用意在于基于 残差 学习&#xff0c;让神经网…...

Java8之Stream操作

Java8之Stream操作 stream干啥用的&#xff1f;创建流中间操作终结操作好文推荐----接口优化思想 stream干啥用的&#xff1f; Stream 就是操作数据用的。使用起来很方便 创建流 → 中间操作 → 终结操作 Stream的操作可以分为两大类&#xff1a;中间操作、终结操作 中间操作可…...

二分查找基础篇-JAVA

文章目录 前言 大家好,我是最爱吃兽奶,这篇博客给大家介绍一下二分查找,我们先从最基本的开始讲解,再慢慢深入,把优化和变形也和大家说一下,那么,跟着我的步伐,我们一起去看看吧! 一、什么是二分查找? 二分查找(Binary Search)也称作折半查找 二分查找的效率很高,每查找一次…...

shell脚本5数组

文章目录 数组1 数组定义方法2 获取数组长度2.1 读取数组值2.2 数组切片2.3 数组替换2.4 数组删除2.5 追加数组元素 3 实验3.1 冒泡法3.2 直接选择法3.3 反排序法 数组 1 数组定义方法 数组名(value0 valuel value2 …) 数组名( [0]value [1]value [2]value …) 列表名“val…...

Kubernetes二进制部署 单节点

目录 1.环境准备 1.关闭防火墙和selinux 2.关闭swap 3.设置主机名 4.在master添加hosts 5.桥接的IPv4流量传递到iptables的链 6.时间同步 2.部署etcd集群 1.master节点部署 2.在node1与node2节点修改 3.在master1节点上进行启动 4.部署docker引擎 3.部署 Master 组…...

基于VC + MSSQL实现的县级医院医学影像PACS

一、概述&#xff1a; 基于VC MSSQL实现的一套三甲医院医学影像PACS源码&#xff0c;集成3D后处理功能&#xff0c;包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等功能。 二、医学影像PACS实现功能&#xff1a; 1、…...

Jmeter 压测 QPS

文章目录 1、准备工作1.1 Jmeter的基本概念1.2 Jmeter的作用1.3.Windows下Jmeter下载安装1.4 Jmeter的目录结构1.5 启动1.6 设置中文1.6.1 设置调整1.6.2 配置文件调整&#xff08;一劳永逸&#xff09; 2、Jmeter线程组基本操作2.1 线程组是什么2.2 线程组2.2.1 创建线程组2.2…...

如何在云上部署java项目

最近博主接了一波私活&#xff0c;由于上云的概念已经深入人心&#xff0c;客户要求博主也上云&#xff0c;本文将介绍上云的教程。 1.如何选择服务器 这里博主推荐阿里云服务器&#xff0c;阿里云云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;助您降低 IT…...

IT行业项目管理软件,你知道多少?

IT行业项目管理软件&#xff0c;主要得看用来管理的是软件研发还是做IT运维。如果是做软件研发&#xff0c;那还得看项目经理是用什么思路&#xff0c;是传统的瀑布式方法还是敏捷的方法或者是混合的方法。 如果用来管理的是IT运维工作&#xff0c;那么很多通用型的项目管理软件…...

小爱同学接入chatGPT

大致流程 最近入手了一款小爱音响&#xff0c;想着把小爱音响接入 chatGPT, 在 github 上找了一个非常优秀的开源项目&#xff0c;整个过程还是比较简单的&#xff0c;一次就完成了。 其中最难的技术点是 如何获取与小爱的对话记录&#xff1f;如何让小爱播放文本&#xff1f…...

java运算符

1.运算符和表达式 运算符&#xff1a; ​ 就是对常量或者变量进行操作的符号。 ​ 比如&#xff1a; - * / 表达式&#xff1a; ​ 用运算符把常量或者变量连接起来的&#xff0c;符合Java语法的式子就是表达式。 ​ 比如&#xff1a;a b 这个整体就是表达式。 ​ 而其…...

StrongSORT_文献翻译

StrongSORT 【摘要】 现有的MOT方法可以被分为tracking-by-detection和joint-detection-association。后者引起了更多的关注&#xff0c;但对于跟踪精度而言&#xff0c;前者仍是最优的解决方案。StrongSORT在DeepSORT的基础之上&#xff0c;更新了它的检测、嵌入和关联等多个…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...