指针是地址,指针的指针还是地址,只不过是保存的某指针变量的地址。废话不说,上菜,看代码:
1 #include <stdio.h> 2 #include <stdlib.h> 3 //关于指针的指针,赋值以及其意义 4 int main() 5 { 6 int a=8;//定义一个int型变量a,假设其在内存中的地址是1000 7 int *q;//定义指针变量q,q本身也需要内存存储,假设其地址是2000 8 q=&a;//给q赋值,即a的地址1000。此时q=1000,*q=a=8; 9 int **p;//定义指针的指针变量p,同理p也需要内存存储,假设其地址是3000 10 p=&q;//给变量p赋值,即q的地址2000.此时p=2000,*p=1000,**p=a=8 11 printf("%3d,%3d,%3d,%3d,%3d,%3d",a,q,*q,p,*p,**p);//输出值依次:8,1000,8,2000,1000,8 12 return 0; 13 }
注释足够详细,你看懂了吗?有问题欢迎留言交流哦。