多级指针
如果指针变量p指向变量q,而变量q不是指针变量,则称变量p是一级指针变量。如果指针变量s指向一级指针变量q,即指针变量s的值是一个一级指针变量的地址,此时称s为二级指针变量。依此类推,可以定义多级指针变量。
理论上程序中可以使用三级、四级甚至更多级的指针变量,但实际应用中,一级和二级指针变量应用较多,下面以二级指针变量为例说明多级指针的用法。
二级指针变量定义的一般形式:
类型说明符 **指针变量名;
说明:
(1)二级指针变量定义中的“**”不是变量名的一部分,只是说明定义的是二级指针变量。
(2)前面文章介绍过的指针操作和运算对二级指针同样有效。
例如:
int **p,*q,d=10;
q=&d;
p=&q;
上面3个语句执行后,变量p,q,d的存储关系如下图所示。