一、什么是二级指针?
指向一级指针的指针,即二级指针存放的是一级指针的地址。
二、使用举例
代码如下:
首先,通过画图来理清数据之间的关系
根据上面三行代码,我们可以画出如下图中数据之间的关系
cpp原本指向c+3,++cpp之后指向c+2;一次解引用访问c+2的内容;再一次解引用访问c+2内容的内容即POINT首元素的地址,打印字符串POINT;
cpp当前指向c+2,++cpp则指向c+1;对++cpp进行一次解引用则访问到c+1的内容;进行–操作,则其地址-1;再次进行解引用访问到“ENTER”首元素的地址;+3后+3个字节;打印字符串ER;
*cpp[-2]+3相当于 ※(※(cpp-2)) +3;cpp-2之后又指向c+3,解引用之后指向c+3的内容;再次解引用指向“FIRST”首元素的地址;+3后+3个字节,打印字符串ST;
cpp[-1][-1]相当于※(※(cpp-1)-1)+1;cpp目前指向c+3;cpp-1之后指向c+2;对其进行解引用则指向c+2的内容;再对其-1则地址-1;二次解引用此时指向“NEW”首元素的地址;+1后+1个字节,打印字符串EW;
运行结果:
总结
提示:图中*无法显示的地方用※代替