带你认识什么是一级指针、二级指针、三级指针

今天带大家了解一下什么是一级指针、二级指针、三级指针

1、一级指针

一级指针其实就是我们平时常见的普通指针
如:

int a = 12;      
int * b = &a;    //一级指针,定义一个指针变量b,将整型变量a的地址(指针)赋值给b

所以首先我们介绍一下什么是指针?
指针其实是一个内存地址,对于一个内存单元来说,单元的地址即为指针。

而我们平时常用的指针则是指针变量。
指针变量从字面意思上可以看出是存储指针的一种变量类型。
在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。

也就是,指针是一个地址,是一个常量。而指针变量却可以赋予不同的指针(指针也就是地址),是变量。但我们常把指针变量简称为指针。

现在大家明白了吧,指针其实就是地址的别称,而指针变量就是存放这个地址的,所以我们平时说的定义一个指针,就是定义一个指针变量,我们可以给这个指针赋上变量的地址、数组首地址、结构体首地址等等。

!!!另外注意一下指针变量的赋值只能赋予地址。
另外这里介绍两个指针有关的运算符,在下面会用到
(1) &:取地址运算符,一般形式为: &变量名
(2) *:指针运算符(也就是获取该指针所指向的数据),一般形式为: *指针变量

了解什么是指针后,我们来了解什么是二级指针,三级指针。

2.二级指针

二级指针则是指向一级指针的指针,也就是说如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。如:

int a = 12;     
int * b = &a;    //一级指针
int **c = &b;    //二级指针,指针c指向的是指针b,也就是说二级指针c存储的是一级指针b的地址。

这里要说明的是指针变量也是一种变量,也会占用存储空间,也可以使用&获取它的地址,所以二级指针才可以指向一级指针的地址。

3.三级指针

三级指正则是指向二级指针的指针。所以规律就是n 级指针就是 指向 n-1 级指针的 指针
如:

int a = 12;     
int * b = &a;    //一级指针
int **c = &b;    //二级指针,指针c指向的是指针b,也就是说二级指针c存储的是一级指针b的地址。
int ***d = &c;   //三级指针,指针d指向的是指针c的地址

因此我们如果在三级指针前面加一个取地址运算符,也就是&d,则取出的是其自身的存储地址。
而”*d”则是取到指针c的地址,而”**d”则是取到指针b的地址,而”***d”则是取到a地址上的数据。

想要获取指针指向的数据时,一级指针加一个*,二级指针加两个*,三级指针加三个*

因为指针相关的知识内容比较多,因此这里只介绍部分~

本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~

  • 26
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OMGMac

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值