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

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

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地址上的数据。

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

因为指针相关的知识内容比较多,因此这里只介绍部分~
另外本人水平有限,上述信息仅供参考,如有错误和不妥之处,请多多指教。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>