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++多级指针,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。