首页 > 代码库 > c/c++多级指针

c/c++多级指针

c/c++多级指针

如图:

 

# include <stdio.h>int main(void){    int i = 10;    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 0;}

2.

void f(int ** q){    //*q就是p    }void g(){    int i = 10;    int * p = &i;类型    f(&p); //p是int *类型 , &p是int ** 类型}int main(void){    g();    return 0;}