指向单一变量的指针 及其 二级指针
一.整型
1.指向单一变量的指针 及其 二级指针
1 #include <stdio.h> 2 int main() 3 { 4 int a=10; 5 int *ptoa; 6 int **ptopa; 7 ptoa=&a;ptopa=&ptoa; 8 printf("&ptopa:%d \n",&ptopa); 9 printf("&ptoa:%d,ptopa:%d \n",&ptoa,ptopa); 10 printf("&a:%d,ptoa:%d,*ptopa:%d \n",&a,ptoa,*ptopa); 11 printf("a:%d,*ptoa:%d,**ptopa:%d \n",a,*ptoa,**ptopa); 12 return 0; 13 }
运行结果:

&ptopa:2686724
&ptoa:2686728,ptopa:2686728
&a:2686732,ptoa:2686732,*ptopa:2686732
a:10,*ptoa:10,**ptopa:10
等价关系:
1.&ptopa 即二级指针地址
2.&ptoa=ptopa 即指针地址
3.&a=ptoa=*ptopa 即变量地址
4.a=*ptoa=**ptopa 即变量内容10
小结:
明确:1.变量名 2.地址 3.内容
机器存储的只有地址和内容.在代码中,变量名=内容
例如 int a=10;a即为10
int *p=&a;指针存储的为a的地址,即内容为a地址,变量名p即为a的地址
两个重要符号1.取址符& 2.解释符*
简略表格
| int a | int *ptoa | int **ptopa | |
| 地址 | &a | &ptoa | &ptopa | 
| 内容 | a=10 | ptoa=&a | ptopa=&ptoa | 
| 加解释符 | *ptoa=*(&a)=10 | *ptopa=*(&ptoa)=ptoa=&a **ptopa=*(*ptopa)=*(&a)=a | 
 
                    
                     
                    
                 
                    
                 
 posted on
 posted on 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号