在前文中,我们看到,指针变量本身与其它变量一样也是在某个内存地址中的,如pi的内存起始地址是9。同样的,我们也可能让某个指针指向这个地址。
看下面代码:
short int **ppi; /* 这是一个指向指针的指针,注意有两个“*”号 */
*ppi = π
第一句:short int *ppi; —— 声明了一个指针变量ppi,这个ppi是用来存储(或称指向)一个short int 类型指针变量的地址。
第二句:&pi那就是取pi的地址,**ppi = &pi就是把pi的地址赋给了ppi。即将地址值9赋值给ppi。如下图:
从图中看出,指针变量ppi的内容就是指针变量pi的起始地址。于是……
ppi的值是多少呢?—— 9。
*ppi的值是多少呢?—— 5,即pi的值。
**ppi的值是多少呢?——50,即i的值,也是*pi的值。
不用我说太多了,我相信你应明白这种指针了吧。