再识指针

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int *p1 = NULL;
 6     int *p3 = NULL;
 7     int **p2 = NULL;
 8     int **p4 = NULL;
 9     int a = 1;
10 
11     p1 = &a;
12     printf("&a = %d
", &a);    // &a = 9698080        
13     printf("p1 = %d
", p1);    //p1 = 9698080
14     printf("*p1 = %d
", *p1);    //*p1 = 1
15     printf("a = %d
", a);    //a = 1
16     printf("----------
");
17     p3 = a;
18     printf("p3 = %d
", p3);    //p3 = 1
19     //printf("*p3 = %d
", *p3);    //dump;
20 
21     p2 = a;
22     printf("p2 = %d
", p2);
23     //printf("*p2 = %d
", *p2);    //dump;
24     //printf("**p2 = %d
", **p2);    //dump;
25     printf("&p2 = %d
", &p2);    //&p2 = 随机垃圾值
26     printf("*&p2 = %d
", *&p2);    //*&p2 = 1
27     printf("----------
");
28 
29 
30     p4 = &a;
31     printf("p4 = %d
", p4);    //随机垃圾值
32     printf("*p4 = %d
", *p4);    //*p4 = 1
33     printf("-------
");
34 
35     
36     int *p5 = NULL;
37     int **p6 =NULL;
38     int b = 3;
39     p5 = &b;
40     p6 = p5;
41     printf("p6 = %d
", p6);    //随机垃圾值
42     printf("*p6 = %d
", *p6);    //3
43     //printf("**p6 = %d
", **p6);    //dump
44     printf("-------
");
45 
46     p5 = NULL;
47     p6 = NULL;
48     p5 = b;
49     p6 = p5;
50     printf("p6 = %d
", p6);    //p6 = 3
51     //printf("*p6 = %d
", *p6);    //dump
52     printf("&p6 = %d
", &p6);    //随机垃圾值
53     printf("-------
");
54 
55     p5 = NULL;
56     p6 = NULL;
57     p5 = b;
58     p6 = &p5;
59     printf("p6 = %d
", p6);    //随机垃圾值
60     printf("*p6 = %d
", *p6);    //*p6 = 3
61     printf("-------
");
62 
63     p5 = NULL;
64     p6 = NULL;
65     p5 = &b;
66     p6 = &p5;
67     printf("p6 = %d
", **p6);    // **p6 = 3
68     system("pause");
69     return 0;
70 }
View Code
原文地址:https://www.cnblogs.com/linst/p/4923026.html