【带头学C++】----- 三、指针章 ---- 3.11 补充重要指针知识(二,拓展基础知识)
1.指针与函数
1.1指针变量作为函数的参数
如果想在函数内部修改外部变量的值,可以将外部变量的地址传递给函数。
在C/C++中,函数的参数传递方式有值传递(传递变量的副本)和引用传递(传递变量的地址)。如果希望函数内部修改外部变量的值,需要使用引用传递或指针传递。
test1:单向传递之 传值(此时无法修改外部变量,作用域不同)
1.不使用指针传递值,直接使用变量,我们发现其实最后是修改不了原始变量的值的。
test2:单向传递之 传地址 (指针传递)
此时我们将上述的变量num的地址传递给函数,最后发现我们修改num的值成功了。
相同的道理,看下面的案例:
指针传递:通过将变量的指针作为函数的参数进行传递,函数内部通过指针修改变量的值。如下所示:
void modifyValue(int* ptr) {*ptr = 20; // 通过指针修改对应的外部变量
}int main() {int value = 10;modifyValue(&value); // 将变量的地址传递给函数// 现在value的值已经被修改为20return 0;
}
引用传递:通过将变量的引用作为函数的参数进行传递,函数内部对参数的修改会影响到原始变量。如下所示:
void modifyValue(int& x) {x = 20; // 修改参数对应的外部变量
}int main() {int value = 10;modifyValue(value); // 将变量的引用传递给函数// 现在value的值已经被修改为20return 0;
}
2.一维数组作为函数的参数
函数内部 想操作(读或写) 外部数组元素,将数组名 传递给函数
一维数组作为函数的形参会被优化成 指针变量
3.二维数组作为函数的参数
函数内部想操作函数外部的二维数组 需要将二维数组名 传递给函数
二维数组作为函数的形参会被优化成一维的数组指针
相关文章:

【带头学C++】----- 三、指针章 ---- 3.11 补充重要指针知识(二,拓展基础知识)
1.指针与函数 1.1指针变量作为函数的参数 如果想在函数内部修改外部变量的值,可以将外部变量的地址传递给函数。 在C/C中,函数的参数传递方式有值传递(传递变量的副本)和引用传递(传递变量的地址)。如果希…...

Jmeter分布式性能测试细节+常见问题解决,资深老鸟带你避坑...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Jmeter分布式测试…...

动态表单获取某一项值
<template><div><el-form :model"form" :rules"rules" ref"form"><el-row v-for"(item,index) in form.list" :key"index"><el-col :span"6"><el-form-item label"用户名称…...
短路表达式
什么是短路表达式 作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。这是这两个操作符的一个重要属性。 而在j…...

风力发电场集中监控系统解决方案
安科瑞 崔丽洁 作为清洁能源之一,风力发电场近几年装机容量快速增长。8月17日,国家能源局发布1-7月份全国电力工业统计数据。截至7月底,全国累计发电装机容量约27.4亿千瓦,同比增长11.5%。其中,太阳能发电装机容量约4.…...

SpringDataJpa(二)
三、Spring Data JPA概述 Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring D…...

软件测评中心▏软件功能测试和非功能测试的区别和联系简析
在软件开发的过程中,功能测试和非功能测试是两个重要的环节。功能测试是指对软件的各项功能进行验证和确认,关注软件是否按照需求规格说明书进行了实现,是否满足了用户的功能需求。而非功能测试是指对软件的性能、可靠性、安全性等方面进行测…...

打卡系统有什么用?如何通过日常管理系统提高企业员工的效率?
在当今快速发展的时代,职工的行动管理已成为机构单位工作中至关重要的一环。如何更好地了解和掌握职工的日程安排和行动轨迹,成为了一个值得探讨的问题。为了解决这一难题,“的修”打卡系统应运而生,它为我们提供了一个全面而高效…...

png怎么转jpg?这款图片转格式工具一学就会用
虽然png图片格式是一种无损压缩格式,但是png图片的内存大小也是比较大的,而且兼容性上也没有jpg图片好,许多平台推荐的也都是jpg格式,所以当我们需要把png转jpg格式的时候,就需要用到图片格式转换器,今天推…...

万界星空科技MES系统软件体系架构及应用
MES系统是数字化车间的核心。MES通过数字化生产过程控制,借助自动化和智能化技术手段,实现车间制造控制智能化、生产过程透明化、制造装备数控化和生产信息集成化。生产管理MES系统主要包括车间管理系统、质量管理系统、资源管理系统及数据采集和分析系统…...
uniapp h5实现Excel、Word、PDF文件在线预览,而不是跳转下载,也不需要下载
实现方案 word,微软 Office Web Viewer const url https://view.officeapps.live.com/op/view.aspx?src${encodeURIComponent(https://501351981.github.io/vue-office/examples/dist/static/test-files/test.docx)} window.open(url) //新建窗口打开链接预览 /…...

台式电脑一键重装Win10系统详细教程
很多用户都在使用台式Win10电脑办公,如果电脑出现系统问题无法解决了,这时候就可以考虑给电脑重装系统哦,下面小编给大家详细介绍关于台式电脑一键重装Win10系统的步骤方法,安装后电脑就能恢复正常,也不会影响到用户的…...
图像相机-相机属性SDK汇总设置
文章目录 彩色相机设置彩色分辨率设置(TY_ENUM_IMAGE_MODE)彩色模拟增益(TY_INT_ANALOG_GAIN)彩色曝光(TY_INT_EXPOSURE_TIME)彩色增益彩色畸变 深度相机设置深度分辨率(TY_ENUM_IMAGE_MODE&…...

使用ffmpeg调用电脑自带的摄像头和扬声器录制音视频
1、打开cmd,执行chcp 65001,修改cmd的编码格式为utf8,避免乱码 2、执行指令ffmpeg -list_devices true -f dshow -i dummy,查看当前window的音频和视频名称 3、打开windows系统的"打开声音设置"–“麦克风隐私设置”–"允许应用访问你…...

工业物联网模块应用之砂芯库桁架机器人远程无线控制
一、应用背景 在铸管车间无线技改项目中,客户需要构建智能化砂芯库,要求各库存的规格、数量、位置坐标等数据实时可显。此外,还需具备自动入库及出库功能,用于将出炉后的成摞砂芯及时码放至砂芯库的预设位置,当离心机…...
Ubuntu安装.Net SDK
参考微软文档:在 Linux 上安装 .NET选择自己对应系统版本的链接辅助即可。 我这里使用的是 Ubuntu 20.04,因为在这个版本.Net 在Ubuntu包源存储库中不可用,需要手动添加Microsoft包存储库。 使用 APT 进行安装可通过几个命令来完成。 安装 …...

相交链表~
题目描述 给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。图示两个链表在节点 c1 开始相交: 题目数据保证整个链式结构中不存在环。注意,函数返回结果后&…...
跨境电商API接口如何通过API数据接口进行选品
一、了解API及其重要性 API,即应用程序接口,是一种提供给开发者使用的工具,使他们能够通过编程方式访问和操作另一个应用程序的功能。在跨境电商领域,API通常被用于连接电商平台、支付系统、物流服务等,以实现数据的共…...
ArrayList集合方法(自写)
以下方法在使用时需要new一个新对象调用,输出时需要一个输出方法,否则输出的是地址 1.最后位置插入 //最后位置插入 public void add(int element){if (size>arr.length){capacity*factor;int[] tempnew int[capacity];for (int i 0; i <arr.le…...

sql注入学习笔记
sql注入原理 掌握sql注入漏洞的原理掌握sql注入漏洞的分类 万能用户名 777 or 11 #原句 select userid from cms_users where username ".$username." and password".md5 ( $password ) ."输入过后为 select userid from cms_users where username …...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...