C语言多级指针



多级指针概述


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


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


9.png


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


90.png


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



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

麦子大聚惠,豪华礼包你领了吗?

客服热线 400-862-8862

回到顶部