#include <stdio.h>
int main () {
int a = 100;
printf("%p\n", &a);
printf("%d\n\n", a);
int* p1 = &a;
printf("%p\n", &p1); // 自身地址
printf("%p\n", p1); // 引用地址
printf("%d\n\n", *p1); // 引用地址值
int** p2 = &p1;
printf("%p\n", &p2); // 地址
printf("%p\n", p2); // 值地址
printf("%p\n", *p2); // 一级解引用
printf("%d\n\n", **p2); // 二级解引用
// int*** p3 = &p2;
// printf("%p\n", &p3); // 自身地址
// printf("%p\n", p3); // 自身地址
// printf("%p\n", *p3); // 自身地址
// printf("%p\n", **p3); // 自身地址
// printf("%d\n", ***p3); // 自身地址
return 0;
}