在这里插入代码片
#include <stdio.h>
int main()
{
int n = 10;
int *p = &n;
int **pp = &p;
printf("%p %p\r\n", pp, &p);
printf("%p %p\r\n", *pp, &n);
printf("%d %d\r\n", **pp, n);
/*
// arr int[3][4]
// arr[3] int[4]
int arr[3][4] =
{
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
// 错误的写法 int *p = arr;
// int [4]
int (*p)[4] = &arr[1];
printf("%p %p\r\n", p, arr);
printf("%p %p\r\n", p[0], arr[0]);
printf("%p %p\r\n", p[-1][0], arr[0][0]);
// 0x18fef0 + 4 * sizeof(int)
// 0x18fef0 + 0x10 = 0x18ff00
printf("%p \r\n", p[1]);
// 0x18fef0 + 8 * sizeof(int)
// 0x18fef0 + 0x20 = 0x18ff10
//printf("%d \r\n", *(p[2] + 1));
*/
return 0;
}