1、二级指针
1.1、例1
#include <stdio.h>
int main ()
{
int a = 0;
int *p = &a;
int **pp; //二级指针,指向指针的指针
pp = &p;
**pp = 10;
printf("%d\n",a);
return 0;
}
输出结果:
1.2、下面是一个简单的二级指针和一级指针的关系
2、 二级指针与指针数组的关系
int *p;
p[0] int
int **p;
p[0] int *
int a[10]; a是一个int *
int *p;
p = a;
int *a[10]; //a是一个指向int *类型的地址
int **p = a;正确的
int *p = a;错误的
p[0] 结果是一个int a[0]的结果是一个int *
2.1、例1
#include <stdio.h>
int main ()
{
int a[10];
int *p = a;
p[0] = 0;
p[1] = 2;
int *b[10];
int **p1 = b;
p1[0] = NULL;
printf("%lu\n",sizeof(p1[0]));
return 0;
}
输出结果: