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

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

相关推荐
烟锁池塘柳08 小时前
【C/C++】解决C++控制台输出中文乱码问题
c语言·开发语言·c++
捷瑞电子工坊11 小时前
C语言联合体(Union)——让同一块内存“变脸”
c语言·union·联合体·内存共享
aaPIXa62214 小时前
C++ 用 Claude Code 的 defending-code-reference-harness:C/C++ 内存漏洞自动发现与修复 Pipeline
java·c语言·c++
xingke1 天前
C 语言多文件编程:(一)头文件、extern、编译链接
c语言·开发语言·多文件
wuyk5551 天前
38.什么是C语言?从语法到工程落地的工程师视角解读
c语言·开发语言·stm32·单片机·mcu·51单片机
某不知名網友1 天前
C/C++动态内存管理,智能指针及RAlI思想。
java·c语言·c++
一杯奶茶¥1 天前
c语言程序设计大学期末考试考研知识点重点笔记题库复习资料C语言重点考点题库资料合集
c语言·笔记·考研·c语言程序设计·c语言笔记
p似笑非笑1 天前
在Mac上完美配置VSCode的C/C++开发环境(GCC/G++详细教程)
c语言·vscode·macos
光芒Shine1 天前
【C语言-记录点】
c语言
--小林哥--2 天前
有关ADC的规则组注入组区别的形象解释
c语言