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位,理解为移动地址就好了。得到地址后我们再进行解引用操作,就得到了元素

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

相关推荐
Hi202402171 小时前
同一个 NMS 算子,两种语言实现:CUDA C 与 Rust 生成 LLVM IR 和 Vortex 汇编的差异
c语言·汇编·rust·gpgpu·vortex·cudac
lhbweilai2 小时前
深挖FreeRTOS内核实现(二)
c语言·汇编·stm32·单片机
杨丰玮4182 小时前
C语言核心语法
java·c语言·开发语言·学习方法
Zwawa3 小时前
反馈:让系统知道自己做得对不对
c语言·单片机·嵌入式
燕落南枝3 小时前
c语言 洛谷P1765手机题解
c语言·开发语言
白色的北极熊3 小时前
c语言 求余运算符
c语言·数据结构·算法
小溪学编程4 小时前
C语言篇:枚举类型
java·c语言·前端
小溪学编程4 小时前
C语言篇:语言结构
c语言·开发语言·算法
老王爱玩车4 小时前
字符串和字符串函数
c语言·开发语言·数据结构·学习
山下梅子酒2254 小时前
洛谷-入门-B2082
c语言