#include<stdio.h> int main (){
int a=8;
int *p=&a; //p取a的地址或着说p指向了a的地址
int **b=&p; //*b取p的地址或着说b指向了p的地址
if (p==&a){ printf("%p\n",&a); //指针变量p保存的地指针是a的地址
printf("%p\n",p); //指针变量p保存的地指针是a的地址 }
if (*p==a){ printf("%d\n",a); //*p变量指向的地址对应内存空间是a值.
printf("%d\n",*p); //*p变量指向的地址对应内存空间是a值.
}
if (b==&p){ //b中保存的地址与p的地址是对应的. printf("%p\n",&p);
printf("%p\n",b); //b中保存的地址与p的地址是对应的. }
if (*b==p){ printf("%p\n",*b); //*b指向的值,就是指针变量p存储的值
printf("%p\n",p); //*b指向的值,就是指针变量p存储的值 }
if (**b==a){ printf("%d\n",**b); //**b指向的值,就是变量a的值,*b指向的值,就是指针变量p存储的值,*p变量指向的地址对应内存空间是a值
printf("%d\n",a);} //**b指向的值,就是变量a的值,*b指向的值,就是指针变量p存储的值,*p变量指向的地址对
if (&**b==&a) { printf("%p\n",&**b); //取&**b的地址实际上是取&a的地址
printf("%p\n",&a);}
if (*b==&a){
printf("%p\n",*b);
printf("%p\n",&a); }
return 0; }
|