指向常量的指针也可以有多层间接引用。在下例中,我们声明一个指向上一节提到的cpci
指针的指针。从右往左读可以帮助我们理解这个声明:
const int * const cpci = &limit;
const int * const * pcpci;
指向“指向常量的常量指针”的指针可以用图1-15来说明。
下面说明它们的使用。这段代码的输出应该是两个500:
printf("%d\n",*cpci);
pcpci = &cpci;
printf("%d\n",**pcpci);
下表总结了本节讨论的前四种指针。
指针类型 | 指针是否可修改 | 指向指针的数据是否可修改 |
---|---|---|
指向非常量的指针 | 是 | 是 |
指向常量的指针 | 是 | 否 |
指向非常量的常量指针 | 否 | 是 |
指向常量的常量指针 | 否 | 否 |