c/c++多级指针
如图:
# include <stdio.h> int main(void)
{
int i = ;
int * p = &i; //p只能存放int类型变量的地址
int ** q = &p; //q是int **类型, 所谓int **类型就是指q只能存放int *类型变量的地址,
int *** r = &q; //r是int ***类型, 所谓int ***类型就是指r只能存放int ** 类型变量的地址, //r = &p; //error 因为r是int *** 类型,r只能存放int **类型变量的地址
printf("i = %d\n", ***r); //输出结果是10 只有 ***r才表示的是i, *r或 **r或 ****r代表的都不是i return ;
}
2.
void f(int ** q)
{
//*q就是p
} void g()
{
int i = ;
int * p = &i;类型 f(&p); //p是int *类型 , &p是int ** 类型
} int main(void)
{
g();
return ;
}