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

指针进阶(多级指针)

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;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 给自己复盘的随想录笔记-哈希表
  • Echarts关系图特效实现
  • leetcode刷题-二叉树08
  • JavaScript常见知识点总结
  • 调用ragflow api实现俩个模型根据知识库的内容来进行对话 简易版
  • 算法的学习笔记—数字序列中的某一位数字(牛客JZ44)
  • 从零开始:全面掌握C++ Qt开发框架基础
  • k8s POD控制器
  • 【DSP+FPGA】基于Virtex-7 FPGA + C6678 DSP的高性能实时信号处理平台
  • Golang学习总结
  • LeetCode49题的反思
  • IO进程day05(线程、同步、互斥、条件变量、进程间通信IPC)
  • sqlite3数据库
  • 第九届中国大学生程序设计竞赛(秦皇岛)-(CCPC2023-Qinhuangdao F - 质数之谜(DP)
  • 谈谈nvm、nrm、pnpm的理解
  • @jsonView过滤属性
  • 《深入 React 技术栈》
  • java2019面试题北京
  • JavaScript学习总结——原型
  • Java到底能干嘛?
  • ReactNativeweexDeviceOne对比
  • Vue ES6 Jade Scss Webpack Gulp
  • Webpack 4x 之路 ( 四 )
  • 设计模式 开闭原则
  • 什么软件可以剪辑音乐?
  • 使用权重正则化较少模型过拟合
  • 在Docker Swarm上部署Apache Storm:第1部分
  • Mac 上flink的安装与启动
  • ​secrets --- 生成管理密码的安全随机数​
  • #《AI中文版》V3 第 1 章 概述
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Python第六天)文件处理
  • (SpringBoot)第七章:SpringBoot日志文件
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十三)Flink SQL
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • ./configure,make,make install的作用(转)
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @EnableConfigurationProperties注解使用
  • [383] 赎金信 js
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [BZOJ2208][Jsoi2010]连通数
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [CF407E]k-d-sequence
  • [C语言]-基础知识点梳理-文件管理
  • [Deep Learning] 神经网络基础
  • [iOS]-UIKit
  • [MFC] MFC消息机制的补充