标签:c 指针的指针 指针
指针的指针:#include <stdio.h> int main() { char c = '1'; char *p; char **pp; char ***ppp; p = &c; //p 存储c的地址,通过p能找到c pp = &p; //pp存储p的地址,通过pp能找到p,通过p能找到c ppp = &pp; //ppp存储pp的地址,通过ppp找到pp,通过pp找到p,通过p找到c printf("%p\n",ppp); printf("%p\n",&pp); printf("%p\n",pp); printf("%p\n",&p); printf("%p\n",p); printf("%p\n",&c); /* *p = c; *pp = p; *ppp = pp **pp = *(*pp) = *p = c; **ppp = *(*ppp) = *(pp) = p; ***ppp = *(**pp) = *p = c; */ /* 注意1: **pp 执行是一层一层往下找的,先*pp找到p,然后*p 找到c; 能够执行的前提是 变量pp存储了变量p的地址,变量p存储了a的地址,否则就会段错误。 注意2:pp = &&a;这种写法是错误的: 初学常范的错误是理解是p = &a,那么&a得到的是p: 这是错误的,&a得到是数据,数据存储在变量p中,也可以存储在p1中。 只能对内存取地址,反应在代码上是对变量取地址,而不能对数据取地址。 &a 是数据,不能对数据取地址。 */ return 0; }
标签:c 指针的指针 指针
原文地址:http://blog.csdn.net/xiaoliu0518/article/details/33329833