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;
}

 

 

 

 

 

 

 

 

 

 

 

 

c/c++多级指针,布布扣,bubuko.com

c/c++多级指针

上一篇:【C语言】为什么指明数组的列数?


下一篇:鼠标滚轮图片放大缩小功能,使用layer弹框后不起作用