C—指针初阶(2)

如果看完阁下满意的话,能否一键三连呢,我的动力就是大家的支持与肯定,冲!

二级指针

我们先看概念以及作用:用来存放一级指针的地址的指针

先看例子,我们逐一分析

我们先分析上面那个"1" 标注那里:

*作为标志代表p 是指针变量,int表示后面那个"&a "中的a

int类型

我们在分析标注的"2"那里:

从左到右第二个***代表pc** 是指针变量,"int*"需要当做一个整体,表示后面那个**"&p"的类型**

这样说你们理解了吗!上面的那个pc就是二级指针

我们再看一个例子:

我们直接看指针打印方式:

从左到右第一个***** 表示对***pc解引用操作得到*p**,然后第二个***** 表示再对p进行解引用操作得到b(赋值操作也可以这么理解)

**简记:**就是套娃操作,一层一层叠起来的

指针数组

概念:指针数组是数组,表示存放指针类型的数组

我们参考第一个例子:

解析:

同理数组名前面的***** 是作为标志代表Arr是指针数组;

Arr【i】 得到是每一个元素的地址,我们再进行解引用操作,就得到了元素;

我们再看一个例子,简单了解一下指针数组的作用:

解析:我们先看上面那幅图:**p【i】 【j】**中的i表示先访问的是指针数组中的每个元素地址,j表示再访问每个指针数组中的每个元素,就是通过指针数组的每个地址找到对应数组的每个元素

或者第二种打印方式(个人认为第二种方式比较好理解,但是也要了解第一种打印方式

解析:我们直接看与第二幅图不同的打印那个地方。(p【i】+j) 表示先通过i找到第i个指针数组元素,然后移动j位,理解为移动地址就好了。得到地址后我们再进行解引用操作,就得到了元素

初阶的指针(后面还有进阶的,我也会慢慢更的哦!)就更完了,还有一个相关的结构体 ,稍等一天啊!

相关推荐
嵌入式学习和实践19 分钟前
C语言-BCD码转换为十进制的测试和说明
c语言·转换·bcd码
喵了meme6 小时前
C语言实战4
c语言·开发语言
智者知已应修善业6 小时前
【求中位数】2024-1-23
c语言·c++·经验分享·笔记·算法
程序员zgh10 小时前
Linux系统常用命令集合
linux·运维·服务器·c语言·开发语言·c++
Bigan(安)10 小时前
【奶茶Beta专项】【LVGL9.4源码分析】09-core-obj_class对象类系统
linux·c语言·mcu·arm·unix
程序员zgh11 小时前
常用通信协议介绍(CAN、RS232、RS485、IIC、SPI、TCP/IP)
c语言·网络·c++
Bigan(安)12 小时前
【奶茶Beta专项】【LVGL9.4源码分析】08-theme主题管理
linux·c语言·mcu·arm·unix
了一梨12 小时前
外设与接口:按键输入 (libgpiod)
linux·c语言
昔时扬尘处12 小时前
【Files Content Replace】文件夹文件内容批量替换自动化测试脚本
c语言·python·pytest·adi
芯联智造13 小时前
【stm32简单外设篇】- 28BYJ-48 步进电机(配 ULN2003 驱动板)
c语言·stm32·单片机·嵌入式硬件