一、二级指针
(1)基本解释
int i = 1;
int *p1 = &i;
int **p2 = &p1;
- 1、int ** p2 可以把它分为两部分看,即int * 和 ( * p2)
- 2、后面 ( * p2) 中的“ * ”表示是一个指针变量
- 3、前面的 int * 表示指针变量 ( * p2) 只能存放int*类型变量的地址
- 4、p2 = &p1; *p2 = &i ; ** p2 = i;
(2)程序代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 1;
int *p1 = &i;
int **p2;
int **p3;
p2 = &p1;
*p3 = &i;
printf("&i = %p\n", &i);
printf("p1 = %p\n", p1);
printf("*p2 = %p\n", *p2);
printf("*p3 = %p\n", *p3);
printf("\n");
printf("&p1 = %p\n", &p1);
printf("p2 = %p\n", p2);
printf("\n");
printf("i = %d\n", i);
printf("*p1 = %d\n", *p1);
printf("**p2 = %d\n", **p2);
printf("**p3 = %d\n", **p3);
exit(0);
}
(3)输出结果
|