指针知识(六):指针的指针


指针的指针,在符号 * 前再加一个 * ,如下面语句:
char a;
char * b;
char ** c;
a = 'z';
b = &a;
c = &b;

 

假设这些变量 的地址分别为:7230,8092,10502,如图示:

   
方框中是变量所存的值,相应下面数字是所存的值对应的存储单元地址

不难看出,变量 c 是指向指针的指针,关于它我们从三个方面来考虑,每一个方面对应了不同 的数值:

    • c 是一个 (char**)类型的变量,值是8092
    • *c 是一个(char*)类型的变量,值是7230 = b
    • **c 是一个(char)类型的 变量,值是'z' = *b

从上面推倒似乎能总结出一个规律:指针变量 c 前面的星号(*) 个数是偶数个的时候,c代表char类型的值,奇数个的时候,c代表内存地址的值。

 

posted on 2014-03-12 18:25  guozqzzu  阅读(456)  评论(0编辑  收藏  举报