当前位置: 首页 > 文档资料 > C 语言程序设计 >

C语言多级指针

优质
小牛编辑
131浏览
2023-12-01

多级指针概述

我们将指针变量理解为一个存储地址的变量。如果这个地址里面存储的依然是地址,那么我们就可以定义一个二维指针。通过一个二维指针,我们通过两次寻址操作就可以找到这个值。

比如我们定义一个int **p;这是一个二维指针,当编译器看到p的时候,它知道这是一个指针变量,指向一个地址;当它看到第二个的时候,它知道指向的地址里面依然还是地址。如下图所示:

如果我们将p[0]和p[1]分别指向两个字符串的空间,两个字符串的空间位置可以是任意的。我们可以将p[0]和p[1]可以描述为一个线性关系,通过两个连续的指针地址,将两块任意的字符串连续,使它们可以通过标签访问。所以二维指针更多的时候是描述内存与内存之间的线性关系。

二维指针的数据类型和一维指针的数据类型的定义方法是一样的,通过两次寻址就能找到指针的指向的数据。 假如我们定义了int **p;我们通过p[0],p[1]……p[n]可以访问到不同的门牌号,它们是一个线性关系。我们规定p[m]==NULL,这个二维空间就结束了。