多级指针的使用

news2024/9/21 14:29:05

文章目录

  • 🍊自我介绍
  • 🍊指针的设计规则
  • 🍊多级指针的结论
  • 🍊二级指针输出数组中的某个值的表示方法


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

  Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群一名“创始团队·嘉宾” ,现在我来为大家介绍一下有关嵌入式方面的内容。在进入介绍之前,可能有一些小伙伴不了解易编程·终身成长社群;想要进一步了解社群的小伙伴可以点击下方链接自行跳转至关于社群的介绍:

易编程·终身成长社群介绍 :
https://blog.csdn.net/weixin_74300052?spm=1011.2266.3001.5343
在这里插入图片描述


🍊指针的设计规则

本质:

所有的指针都是用来保存地址的,只不过因为保存地址的数据类型不同,从而拥有多种指针类型

规则:

一级指针变量是用来保存普通变量的地址;
二级指针变量是用来保存一级指针变量本身自己的地址;
三级指针变量是用来保存二级指针变量本身自己的得知;
..........

  以二级指针为例,定义方式如下:

数据类型 **变量名;

举个栗子:

int a = 10;
int *p = &a;
int **q = &p;

  上面三行代码展示的是:p 里面存放的是 a 的地址,q 里面存放的是 p 的地址。
小测试:

int a = 10;
int *p = &a;
int **q = &p;
int ***x = &q;

假设 :
	 a 的地址是:0x8000;
	 p 的地址是:0x9000;
	 q 的地址是:0x4000;
	 x 的地址是:0x3000;
试着说出:a  p  q  x  &a  *p  &p  *q  *(&q)  **x  ***x各对应多少?

小提示: 之前我们说过,* + 地址 是访问地址中的内容哦~

结果(按顺序从上往下)
10
0x8000
0x9000
0x4000
0x8000
10
0x9000
0x8000
0x9000
0x8000
10

🍊多级指针的结论

在32位(bit)的系统中,所有的指针变量都是4字节(bytes)。
在32位(bit)的系统中,多级指针(二级和二级以上)每移动一个指针的大小都是4字节(bytes).因为一个指针的大小是4字节(bytes)。

🍊二级指针输出数组中的某个值的表示方法

#include <stdio.h>
int main()
{
	int a[5] = {10,11,12,13,14};
	int *p = &a;
	int **q = &p;
	
	//输出a[3]的值
	printf("a[3] = %d\n",a[3]);
	printf("*(a + 3) = %d\n",*(a + 3));
	printf("*(p + 3) = %d\n",*(p + 3));
	printf("p[3] = %d\n",p[3]);
	printf("*(*q + 3) = %d\n",*(*q + 3));
	printf("(*q)[3] = %d\n",(*q)[3]);
	return 0;
	
}

输出结果:

a[3] = 13
*(a + 3) = 13
*(p + 3) = 13
p[3] = 13
*(*q + 3) = 13
(*q)[3] = 13

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

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

相关文章

Effective Java 中文版(第2版 电子版教程)

前言 Java从诞生到日趋完善&#xff0c;经过了不断的发展壮大&#xff0c;目前全世界拥有了成千上万的Java开发人员。如何编写出更清晰、更正确、更健壮且更易于重用的代码&#xff0c;是大家所追求的目标之一。本书的作者JoshuaBloch曾经是Sun公司的杰出工程师&#xff0c;带…

vite+typescript项目 报错:找不到模块“./*.vue”或其相应的类型声明——解决方案

declare module *.vue {import type { DefineComponent } from vueconst vueComponent: DefineComponent<{}, {}, any>export default vueComponent }

fastjson-1.2.24利用

参考视频&#xff1a;fastjson反序列化漏洞2-1.2.24利用 参考博客&#xff1a;Fastjson系列二——1.2.22-1.2.24反序列化漏洞 分析版本 fastjson1.2.24 JDK 8u141 fastjson反序列化特点 不需要实现Serializable 因为对于找不到符合条件的反序列化器&#xff0c;就把类当作…

SAP ERP 通过SAP PO LDAP适配器与微软AD域服务系统集成案例

一、客户介绍 上海某芯片制造公司的主要产品应用于图像传感器、 图像信号处理芯片、 低功耗芯片、 射频芯片等。专注集成电路技术开发与制造&#xff0c;服务于图像传感器、图形图像信号处理芯片、低功耗芯片、射频芯片等领域的全球客户。 二、项目需求 该企业内部办公电…

Flutter 初识:数据表格和卡片

Flutter数据表格和卡片小结 Table属性解析示例TableRow属性解析 TableCell属性解析 DataTable属性解析示例DataColumn属性解析示例 DataRow属性解析示例 DataCell属性解析 Card属性解析示例 Table Table 是 Flutter 中用于显示表格布局的小部件。它允许你定义行和列&#xff0…

前端日历插件VCalendar

官网地址 API | VCalendar 1.安装 yarn add v-calendarnext popperjs/core 2.全局引入 mian.js //日历插件 import VCalendar from v-calendar; import v-calendar/style.css;app.use(VCalendar); 3.使用 <div><VCalendar reservationTime expanded borderless…

无涯问知AI PC版发布,星环科技开启个人大模型应用新篇章

5月30-31日&#xff0c;2024向星力未来数据技术峰会期间&#xff0c;星环科技推出无涯问知AI PC版&#xff0c;这是一款专为个人用户设计的大模型应用产品&#xff0c;标志着个人智能应用时代的全面展开。 无涯问知AI PC版基于星环科技先进的大模型技术&#xff0c;可以在配备英…

jenkins获取sonarqube质量门禁结果

前景 在使用 Jenkins 集成 SonarQube 时&#xff0c;获取质量门禁&#xff08;Quality Gate&#xff09;结果非常重要。SonarQube 的质量门禁是一种质量控制机制&#xff0c;用于评估代码质量是否符合预设的标准。以下是获取质量门禁结果的意义和作用&#xff1a; 评估代码质量…

跟张良均老师学大数据人工智能-批量集训营开班中

随着我国大数据和人工智能产业的飞速发展&#xff0c;未来社会对高素质科技人才的需求日益旺盛。为助力广大青少年提前掌握前沿技术&#xff0c;实现自我价值&#xff0c;泰迪智能科技多名优秀老师联合打造暑期大数据人工智能集训营&#xff0c;旨在培养具备创新精神和实战能力…

常见红外协议整理

1.NEC 1.1 信号编码 载波频率&#xff1a;38kHz载波&#xff0c;载波占空比建议位1/3或1/4。 逻辑"0":562.5μs的脉冲burst(约21个周期) 562.5μs的空闲,总时长1.125ms 逻辑"1":562.5μs的脉冲burst(约21个周期) 1.6875ms的空闲,总时长2.25ms 引导…

大模型的一些思考

迄今为止&#xff0c;应该没有人还怀疑大模型的能力吧&#xff1f;但目前大模型实现真正落地&#xff0c;其实还有一段艰难的路要走。 和大模型相关的一些术语 **1. 大模型&#xff1a;**一般指1亿以上参数的模型&#xff0c;但是这个标准一直在升级&#xff0c;目前万亿参数…

树模型详解3-xgboost

回归树&#xff1a; 表达式为T&#xff08;x&#xff09;wq&#xff08;x&#xff09;&#xff0c;意思为&#xff1a;一个样本x&#xff0c;落到树的哪个叶子结点由q&#xff08;x&#xff09;得出&#xff0c;具体叶子结点对应的值由w函数得出 如何构建函数&#xff1a; 运…

智能视频监控在车辆管理与安全预警中的应用挑战

随着公共交通的客货运事业蓬勃发展&#xff0c;车辆保有量逐年增加&#xff0c;交通安全管理形势愈发严峻。为应对超速、疲劳驾驶、两客一危等违规驾驶行为&#xff0c;智能视频监控技术成为提升交通安全管理水平的关键手段。然而&#xff0c;尽管智能视频监控技术在理论上具有…

MATLAB(9)GIS模型

一、介绍 在GIS&#xff08;地理信息系统&#xff09;中&#xff0c;模型的实现可以非常多样化&#xff0c;取决于你想要解决的具体问题。MATLAB作为一个强大的数值计算和可视化工具&#xff0c;可以被用来开发GIS相关的模型&#xff0c;尽管它不是专门为GIS设计的&#xff08…

免费【2024】springboot 大学生二手电子产品交易平台设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

Python机器学习实战:分类算法之支持向量机-垃圾邮件识别

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能&#xff0c;从而更快地掌握解决问题所需的能力。 目录 支持向量机算法介绍 练习题 Python代码与分析 支持向量机和朴素贝叶斯的联系 支持向量机算法介绍 支持向量机&#…

时尚好看的APPUI设计离不开社交属性

时尚好看的APP UI设计离不开社交属性 艾斯视觉作为ui设计和前端开发从业者&#xff0c;其观点始终认为&#xff1a;移动应用程序&#xff08;APP&#xff09;已成为人们日常生活中不可或缺的一部分。一个时尚好看的APP UI设计不仅能够吸引用户&#xff0c;更能提升用户体验。而…

产品经理必备:8大高效的需求跟踪工具

本文将分享8款主流需求进度跟踪工具&#xff1a;PingCode、Worktile、Teambition、禅道、Tapd、Trello、Wrike、Monday.com。 每个产品经理都面临着如何有效监控项目进展、确保团队与目标同步的问题。选择合适的工具不仅可以减少误会和延误&#xff0c;还能显著提升团队的生产效…

【第六节】python的特殊语法和常用模块

目录 一、特殊语法 1.1 高阶函数 1.2 函数嵌套 1.3 装饰器 二、常用的模块 2.1 time模块 2.1.1 时间的表示方式 2.1.2 time 的使用方式 2.2 datetime 模块 2.2.1 datetime 模块总览 2.2.2 date 类 2.2.3 time 类 2.2.4 datetime 类 2.2.5 timedelta 类 2.3 rand…

轻松应对5W家企业月度排查!这家国企是如何做到的?

国央企的内控合规体系建设一直都是重中之重&#xff0c;今年年初国资委也提到要加强重要领域、重要业务、重要人员和关键环节的内控监督&#xff0c;构建全覆盖内控责任体系。 那么&#xff0c;国央企该如何响应政策号召&#xff0c;快速完善风险合规内控“三位一体”管控体系…