指针进阶(多级指针)

news2024/9/27 5:48:42

0.多级指针命名

        多级指针命名,最主要的是要知道该指针指向的是什么数据。

        一.1级指针 - 指向一个变量

                若定义一个变量 int a,那么 目标类型就为 int。

                所以该指针应该定义为 int *p;

/* 目标 */
int a;

/* 目标类型 *p */
int *p;

/* 指向目标 */
p = a;

二.2级指针

        若定义一个一级指针 int *p1,那么目标类型就为 int *

        定义一个二级指针,使其指向 p1,该指针应该为 int * *p;

int a = 0;

/* 目标 */
int *p1 = &a;

/* 目标类型 *p */
int* *p2;

/* 二级指针,存的是一级指针的地址 */
p2 = &p1;

        

三.二级指针与指针数组

         p[] 里面存储了数组元素 a[0] 、a[1] 的地址;q 存储了数组元素 p[0] 的地址;

        (1).数组 p[] 来表示 a[1] 的值

                        ①.p[1] 存储了 a[1] 元素的地址;

                        ②.对 p[1] 元素进行解引用,则得到 a[1] 的值;

        (2).用指针 q 来表示 a[1] 的值

                        ①.q 存储了 p[0] 的地址,所以第一步 *(p+1) 得到 p[1] 的值;

                        ②. p[1] 存储了 a[1] 元素的地址,即 *(p+1) 表示 a[1] 的地址

                        ③.对 *(p+1) 进行解引用 **(p+1) 得到 a[1] 的值

    int a[] = {3,6,9};
    int *p[] = {&a[0],&a[1]};

    int* *q = &p[0];    //等价于 int* *q = p;

    printf("a[1] : %d\n",a[1]);
    printf("a[1] : %d\n",*p[1]);
    printf("a[1] : %d\n",**(q + 1));

    return 0;

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

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

相关文章

服务器数据恢复—磁盘坏扇区导致raid6阵列崩溃的数据恢复案例

服务器存储数据恢复环境: 一台存储中有一组由12块SAS硬盘组建的raid6磁盘阵列,划分了1个卷,由数台Vmware ESXI主机共享存储。卷中存放了大量的Windows系统虚拟机。这些虚拟机系统盘大小一致,数据盘大小不确定,数据盘都…

安卓主板_MTK安卓主板定制_联发科主板/开发板方案

这款安卓主板采用了联发科的MTK8788、MTK8768及MTK8766系列芯片平台,运用了64位四核/八核 Cortex-A53/A73架构,主频高达2.0 GHz。主板配置了4GB LPDDR3内存和64GB eMMC存储,同时配备了ARM Mail-T450 MP2图形处理单元(GPU),使其在4…

PbootCMS程序安全设置建议

近期遇到部分使用PbootCMS开源程序的客户反馈网站被挂马/入侵等情况,我司核实原因是由于此程序存在漏洞,用户可以按照以下建议进行安全设置。 虚拟主机 一、程序建议: 1、登录后台,将程序升级到最新版本,密码重置为…

算力网络痛点;对象存储OSS;CPN功能模块

目录 算力网络 算力网络痛点:度量困难、种类繁多、分布广泛、归属复杂。 CPN功能模块 对象存储OSS 算力网络 在分析算力资源的特点前,我们首先要明确算力的概念。算力,也称为计算力或计算能力。该词的最早来源已经不可查证,互联网上的资料大多与区块链相关。这是因为区…

MyBatis拦截器面试题

JDBC的执行流程 (面试题一) MyBatis执行流程(面试题二) (我的猜测:1执行器通过工厂执行Mapper类,,2.语句映射器处理mappe文件成对象,3把前端传过来的参数映射到对象里,4输出结果映射) Mybatis拦截器(四个) 拦截的执行顺序是Execu…

ubuntu设置为自己需要的屏幕分辨率

先说一下我处理该问题的大体背景:我是学习Linux的新手,刚学完嵌入式Linux驱动开发相关课程。现在想接着学习一下QT开发。我是在电脑上装了虚拟机之后安装的ubuntu系统。因为换了电脑,所以重新装了ubuntu系统。但是,装完ubuntu系统…

AI Agent从实操体验到代码理解

一、从体验出发 从chatbot到co-pilot,LLM应为的场景不断在扩大,形式也越来越多样化,到如今,chatbot的风头基本已过,co-pilot正在成为大模型嵌入到产品里面的主要形态,但随着PMF(产品市场契合度&…

基于asp.net的webform图书管理系统附源码

今天给大家分享一个c#的图书管理系统,采用的SQLserver数据库,VS开发,详情如下 1.主要功能 主要功能包含用户注册登陆、借书管理、还书管理、管理员登陆、个人中心 、密码修改、图书分类、图书管理等等。2.开发工具及其环境 系统采用VS2013…

MySQL批量插入测试数据的2种方式

在开发过程中我们不管是用来测试性能还是在生产环境中页面展示好看一点, 又或者学习验证某一知识点经常需要一些测试数据, 这个时候如果手敲的话, 十行二十行还好, 多了就很死亡了, 接下来介绍两种常用的MySQL测试数据批量生成方式: 存储方式函数 Navicat的数据生成…

投屏软件哪个好用又免费?4款投屏软件,远程且兼容多平台!

投屏软件哪个好用又免费?不论是在工作中做演示、在家中娱乐观影,还是在学习中进行远程教学,投屏软件都能让你的设备实现多屏互动,让体验更为流畅和便捷。今天,我就为大家推荐几款热门的投屏软件。 1. 乐播投屏&#xf…

第二证券:白酒股,全线飘红

A股首要指数走势分化,到午间收盘,沪指跌0.45%,深成指涨1.03%,创业板指涨0.8%。近4000只个股上涨,两市半日成交3854亿元,较上日同期放量629亿元。 盘面上,光伏设备板块冲高,快可电子…

【区间dp、字符串处理】P4290 [HAOI2008] 玩具取名 题解

前言 毒瘤的字符串杂题 题意 给定 A , B , C , D ( A , B , C , D ≤ 16 ) A,B,C,D(A,B,C,D \leq 16) A,B,C,D(A,B,C,D≤16) 四个数,依次代表 W I N G 四个字母分别能用哪些含有 W I N G 四个字母且长度为 2 2 2 的字符串表示,如以下输入样例&#…

为什么选择GHA文章作为谷歌seo的首选?

选择GHA的文章作为谷歌SEO的首选主要是因为其内容质量和优化策略,GHA专注于高质量的原创内容,这些内容不仅是原创的,还包括了超过3000字的详细信息,通过深入的关键词调研和布局,确保每篇文章都能在发布后迅速被谷歌收录…

JavaScript学习文档(11):Window对象、本地存储、数组中一些方法、学生就业统计表案例

目录 一、Window对象 1、BOM(浏览器对象模型) 2、定时器-延时函数 3、 JS执行机制 (1)同步任务: (2)异步任务: 4、location对象 (1)5秒钟后跳转页面 5、navigator对象 6、…

【uniapp/uview1.x】u-collapse 高度随内容自适应

当 u-collapse-items 中的内容为动态的时候&#xff0c;会发生这种情况&#xff1a; 在 uview 官网中有一个方法可以解决&#xff1a; 具体方法&#xff1a; 在 u-collapse 标签中配置 ref"collapse"&#xff1a; <u-collapse ref"collapse" :item-…

python脚本开头怎么写

在python开发的过程中&#xff0c;脚本开头非常重要。 第一行&#xff1a;告诉操作系统python装在哪里&#xff08;是通过env中查询&#xff0c;然后再调到对应的解析器完成运行&#xff09;。 第二行&#xff1a;是声明文件的编码格式以utf-8。 其他则为这个文件信息&#…

LeetCode49题的反思

Java里的List&#xff08;集合&#xff09;、Array&#xff08;数组&#xff09;、Map&#xff08;字典&#xff09; List<String> L new ArrayList<>();(List是接口&#xff0c;ArrayList是接口的实现类) int[] Y new int[2];(Java命名类型&#xff0c;int[]是个…

如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突

&#x1f600;前言 本文将详细介绍如何使用 TortoiseGit&#xff08;小乌龟&#xff09;进行分支创建、切换与合并以及解决冲突等操作。TortoiseGit 是一个广泛使用的 Windows 图形化 Git 客户端&#xff0c;其友好的用户界面和丰富的功能使得 Git 操作变得更加直观和便捷。 &a…

web尝试---信箱

功能 写信&#xff08;增加&#xff09;读信&#xff08;显示所有信件&#xff09; 目录结构 数据库设计 刚开始设计了主键为id&#xff0c;但是后来不想用id这个属性了&#xff0c;但是代码写完了很麻烦不想改了。 感觉我这个id属性设置的简直多余&#xff01;&#xff01…

传知代码-MSA+抑郁症模型总结(三)(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 热门研究领域&#xff1a;情感计算的横向发展 随着社交网络的不断发展&#xff0c;近年来出现了多模态数据的热潮。越来越多的用户采用媒体形式的组合&#xff08;例如文本加图像、文本加歌曲、文本加视频等&…