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

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

相关推荐
WalterJau4 小时前
C 内存分区
c语言
csdn_aspnet6 小时前
C/C++ 两个凸多边形之间的切线(Tangents between two Convex Polygons)
c语言·c++·算法
剑心诀9 小时前
02 数据结构(C) | 线性表——顺序表的基本操作
c语言·开发语言·数据结构
m0_488633329 小时前
Windows环境下编译运行C语言程序,合适工具与方法很关键
c语言·windows·git·开发工具·编译器
m0_4886333210 小时前
C语言变量命名规则、入门自学、运算符优先级及数据结构介绍
c语言·数据结构·运算符优先级·变量命名·入门自学
Book思议-10 小时前
【数据结构实战】川剧 “扯脸” 与栈的 LIFO 特性 :用 C 语言实现 3 种栈结构
c语言·数据结构·算法·
炸膛坦客12 小时前
单片机/C/C++八股:(二十一)include <> 和 include ““ 的区别
c语言·c++
Yupureki13 小时前
《Linux系统编程》12.基础IO
linux·运维·c语言·开发语言·数据库·c++
炸膛坦客13 小时前
单片机/C/C++八股:(十八)C/C++ 中 sizeof 和 strlen 的区别
c语言·c++
看山是山_Lau13 小时前
代码命名规范原则与原理
c语言·开发语言