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

C语言二级指针

目录

  • 一、
    • 1. 指针的作用
    • 2.二级指针
    • 3. 为什么要用二级指针

一、

1. 指针的作用

内存的存储区就像一池湖水,数据就像池水里面的鱼,如果不用内存寻址的方式,那么当你找某个特定数据的时候,就相当于在一池湖水里找某一条叫做“张三”的鱼一样–你得一条一条捞出来辨认。

如果有内存寻址,就像把一池湖水用渔网分成若干网格,每个网格里面放一两条鱼并且把每个网格都编号(编号和鱼的对应关系假如你用一个小本子记起来),这样当你想找某条叫“张三“的鱼时,你只要打开小本子(指针地址)找相应的网格就可以了。

那么,存储数据的内存地址(有点拗口)或者说是上面例子里面记载编号和鱼的对应关系的小本子就叫指针。

2.二级指针

因为任何一个变量值(包括指针地址)最后都是要放入到内存中去的,回到之前举的“池子里的鱼”那个例子,所谓的二级指针就是存放那个写着网格和编号的小本子的位置信息(比如你把这个本子放到某个抽屉里了,那么二级指针记载的内容就是“这个抽屉的位置”)

3. 为什么要用二级指针

当需要找到本子里记录的一条鱼就用一级指针
当需要将本子里的一堆鱼并卖出去就需要用二级指针,就是抽屉,
再通过抽屉到本子,就可以找到这一堆鱼

uint8_t fishes[10];
void Get_fishes()
{uint8_t* salefishes = NULL;uint8_t* p_Drawer = NULL;Get_fishesDrawer(&p_Drawer);if (p_Drawer != NULL){memcpy(salefishes,p_Drawer,10);}}void Get_fishesDrawer(uint8_t **p_Drawer)
{	// get notebook*p_Drawer = &fishes[0];
}

参考:https://blog.csdn.net/luciferbeing/article/details/46874865

http://www.lryc.cn/news/8841.html

相关文章:

  • [java-面试]初级、中级、高级具备的技术栈和知识点
  • 「5」线性代数(期末复习)
  • 记一次20撸240的沙雕威胁情报提交(2019年老文)
  • 佳能镜头EOS系统EF协议逆向工程(三)解码算法
  • 搞互联网吧,线下生意真不是人干的
  • MySQL性能调优与设计——MySQL中的索引
  • 这5个代码技巧,让我的 Python 加速了很多倍
  • Sphinx+Scws 搭建千万级准实时搜索应用场景详解
  • kafka缩容后,使用tcpdump抓包找到还在连接的用户
  • Spring
  • vue2版本《后台管理模式》(中)
  • 网络游戏开发-服务器篇
  • 智慧校园源码:电子班牌,支持手机移动端以及web端对班牌设备的管控
  • 研报精选230216
  • 在华为MateBook Ego的arm windows 11上安装hyper-V虚拟机
  • OpenCV Canny边缘检测
  • C#.Net正则表达式学习笔记
  • 矩阵理论复习(十二)
  • 大数据框架之Hadoop:HDFS(七)HDFS 2.X新特性
  • Fluent工作目录
  • Learning C++ No.10【STL No.2】
  • 【java 高并发编程之JUC】2w字带你JUC从入门到精通
  • QCon演讲实录(下):多云管理关键能力实现与解析-AppManager
  • 刚刚退出了一个群,关于在要麒麟OS上运行Labview
  • el-uploader 文件上传后,又被修改,无法提交到后端 ERR_UPLOAD_FILE_CHANGED
  • 利用Eigen实现点云体素滤波
  • linux高级命令之多进程的使用
  • CSS 圆角边框 盒子阴影 文字阴影
  • python简单解析打印onnx模型信息
  • UE4 编写着色器以及各种宏的理解