天天看点

关于指向指针的指针

用一个 指针 指向 指针

1 int num=10;
 2 int *p1=#
 3 int *p2=p1;
 4 
 5 printf("num1:%d\n",num);
 6 printf("*p1-1:%d\n",*p1);
 7 printf("*p2-1:%d\n",*p2);
 8 
 9 *p1=100;
10 printf("num2:%d\n",num);
11 printf("*p1-2:%d\n",*p1);
12 printf("*p2-2:%d\n",*p2);      

运行结果如图:

关于指向指针的指针

 逻辑结构如图:

关于指向指针的指针

用一个 指针的指针 指向 指针

1 int num=10;
 2 int *p1=#
 3 int **p2=&p1;
 4     
 5 printf("num-add:%d\n",&num);//正确参数应该用%p来输出地址,这里为了简洁用%d
 6 printf("p1-add:%d\n",&p1);
 7 printf("p2-add:%d\n",&p2);
 8 printf("p2:%d\n",p2);//p1的地址 
 9 printf("*p2:%d\n",*p2);//p1的地址上的值->num的地址 
10 printf("**p2:%d\n\n",**p2);//num的地址上的值->num的值 
11      
12 printf("num1:%d\n",num);
13 printf("*p1-1:%d\n",*p1);
14 printf("**p2-1:%d\n",**p2);
15 
16 *p1=100;
17 printf("num2:%d\n",num);
18 printf("*p1-2:%d\n",*p1);
19 printf("**p2-2:%d\n",**p2);      
关于指向指针的指针

继续阅读