一级指针和二级指针

一级指针

形式:int a = 2;  int *p = &a;

解释:

        int*p = &a表示一级指针p指向变量a的值。此时一级指针p存放的是a的地址,*p解引用是a的值。

作用:

        c++中随处可见。不多言。

二级指针

形式:int a = 2; int *p = &a; int **pp = &p;

解释:

        一级指针解释同上,对于二级指针pp的表达式int **pp = &p,表示二级指针pp指向一级指针p的地址,此时二级指针pp存放的是一级指针p的地址,*pp是一级指针指向的a地址。

作用:

        二级指针大多用于函数的形参,目的是为了存放一级指针的地址(注意区分一级指针自己的地址和一级指针存放的地址的区别)。如果在函数中拥有存放一级指针地址的二级指针pp,此时就可以对二级指针解引用获取一级指针的地址(*pp),此时就可以修改一级指针p的指向,这个指向在离开函数后仍然保留。

        如果函数形参是一级指针,要改变一级指针的指向只可以对指针赋值一个地址,如:

(p和p1都是一级指针且指向不同)

p = p1;

此时可以改变一级指针p的指向,但是在函数中,这个指针p是形参,不是真正的实参,离开函数后实参p指向并没有变化。

参考链接:二级指针的作用详解-CSDN博客

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

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

相关文章

C语言calloc函数的特点,效率低。但是进行初始化操作

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdlib.h> #include<string.h> #include<errno.h> #include<stdio.h> int main() { int *p (int *)calloc(10,sizeof(int)); //初始化&#xff0c;效率低&#xff0c;然而malloc函数相反&#xf…

Linux/Ubuntu/Debian的终端中和的区别

下边举例说明&#xff1a; “cd /home & wine ps.exe”和“cd /home && wine ps.exe”之间的区别在于命令在类 Unix shell 环境&#xff08;例如 Linux 或 macOS&#xff09;中执行的方式&#xff1a; ‘cd /home & wine ps.exe’: 在此命令中&#xff0c;“…

最细致最简单的 Arm 架构搭建 Harbor

更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; ARM离线版本安装 官方提供了一个 arm 版本&#xff0c;但是好久都没更新了&#xff0c;地址&#xff1a;https://github.com/goharbor/harbor-arm 。 也不知道为什么不更新&#xff0c;我看…

数据机构-2

线性表 概念 顺序表 示例&#xff1a;创建一个存储学生信息的顺序表 表头&#xff08;Tlen总长度&#xff0c; Clen当前长度&#xff09; 函数 #include <seqlist.c> #include <stdio.h> #include <stdlib.h> #include "seqlist.h" #include &…

Auto-DataProcessing:一组让制作数据集变轻松的脚本

前言 最近跟同学参加了个比赛&#xff0c;我负责Object-Detection的技术实现&#xff0c;需要从网上扒大量的数据(主办方每种识别物就给了一张demo&#x1f923;)&#xff0c;发现数据准备是一个真的是一个非常重要但又耗时耗力的过程。对我来说&#xff0c;给我一类待识别的标…

sqlite简单的增删改查

1&#xff0c;插入数据 (INSERT): INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); //示例&#xff1a; INSERT INTO employees (name, age, department) VALUES (John Doe, 30, Sales);2&#xff0c;查询数据 (SELECT): S…

路由器级联

目录 一、实现功能二、实现步骤2.1 接线步骤 三、效果3.1 常规连接3.2 路由器级联 一、实现功能 主路由器&#xff1a;可有WiFi功能&#xff0c;LAN口下接各设备&#xff0c;并接一个辅路由器辅路由器&#xff1a;开启WiFi功能&#xff0c;有线或无线下接各设备功能&#xff1…

学上一招,使用 telnet 调试邮件发送

文章目录 背景正常的debug日志报错的debug日志分析SMTP协议相关命令SMTP 命令扩展 SMTP 命令使用 telnet 测试 SMTP 通信 - 邮件调试小帮手!正常情况报错情况SMTP 响应码Java 报错信息参考🔊 背景:生产环境,在 K8s 中部署发送邮件的微服务(多实例),发现不同的 pod 发送邮…

一.Netedit的简要介绍

目录 一.Netedit的简要介绍 功能二:删除项(delete) 功能三:选择项(select) 功能四:移动项(move)

IDEA直接打包Docker镜像

以下为使用IDEA打包Docker镜像并推送到远程仓库&#xff08;使用Windows打包Docker镜像并推送到远程仓库&#xff09;教程 1 安装Docker Desktop 下载地址&#xff1a;https://www.docker.com/products/docker-desktop/ 安装成功后&#xff0c;可在cmd查看版本号 2 启动Do…

qt开发记录

文章目录 1、QT介绍2、信号和槽机制3、提升类4、播放媒体5、增加新的组件6、联合vscode开发 1、QT介绍 打开的主页面介绍&#xff0c;下面是一张新的工程的QT编辑栏&#xff0c;我这里大致分为三类&#xff0c;分别标注如下&#xff1a; 下面对这三个进行分别说明&#xff1a…

leetcode刷题(javaScript)——动态规划相关场景题总结

动态规划在 JavaScript 刷题中有一定的难度&#xff0c;但也是非常常见和重要的算法思想。动态规划通常适用于需要求解最优解、最大值、最小值等问题的场景&#xff0c;可以将复杂问题拆分成子问题&#xff0c;通过存储子问题的解来避免重复计算&#xff0c;从而提高效率。 理解…

v3-admin-vite 整合pont

需求 目前后端的Admin模板使用的是v3-admin-vite&#xff0c;需要整合pont接口&#xff0c;方便前后端统一一体化开发 安装PONT 按照官方的文档&#xff0c;将pont engine安装好&#xff0c;然后在项目根目录执行pont start。注意生成代码路径要修改一下&#xff0c;因为v3-a…

AGI之Humanoid Robot:Figure 01的介绍、核心技术、功能、应用案例之详细攻略

AGI之Humanoid Robot&#xff1a;Figure 01的介绍、核心技术、功能、应用案例之详细攻略 目录 Figure 01的介绍 1、特点 2、应用场景 Figure 01的主要功能 Figure 01的应用案例 1、传递苹果 2、搬箱子 3、拿盘子 Figure 01的介绍 2024年3月13日&#xff0c;Figure 01是…

带你深入了解数据库的事务

为什么要使用事务 日常开发中&#xff0c;很多操作&#xff0c;不是通过一个SQL就能完成的&#xff0c;往往需要多个SQL配合完成 当执行多个SQL操作的时候&#xff0c;如果中间出现了特殊的情况&#xff08;程序崩溃&#xff0c;系统奔溃&#xff0c;网络断开&#xff0c;主机…

java数据结构与算法刷题-----LeetCode1005. K 次取反后最大化的数组和(这就不是简单题)

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 卷来卷去&#xff0c;把简单题都卷成中等题了 文章目录 1. 排序后从小到大…

Spring Boot 实现程序的优雅退出

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 前言 优雅停机是什么 SpringBoot如何实现优雅停机 合理杀死进程 法一&…

SQLiteC/C++接口详细介绍之sqlite3类(十八)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十七&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;一&#xff09; ​ 56.sqlite3_update_hook 函数功能&am…

C++面试宝典第36题:骑士游历

题目 在国际象棋的棋盘上,使一个骑士遍历所有的格子一遍且仅一遍。对于任意给定的顶点,输出一条符合上述要求的路径。骑士的走法和中国象棋的马的走法一样,走日。 解析 本题是一个经典的回溯搜索问题,具体来说是求解国际象棋棋盘上骑士的遍历问题,也称为骑士巡游问题(Kni…

【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试

文章目录 前言 Block断点 分解Block步进 Watch Data Value 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》 见《【研发日记】Matlab/Simul…