← 返回首页
C语言系列教程(三十)
发表时间:2021-03-30 00:08:21
指向指针的指针

1.指向指针的指针

如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。

例如:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main() {
    int x = 100;
    int *p = &x;
    int** pt=&p;

    printf("pt指向的指针所指向的内存单元的值是:%d\n",**pt);
    printf("p指向的内存单元的值是:%d\n",*p);
    printf("x的值是:%d\n",x);

    printf("pt的值是:%d\n",pt);
    printf("p的地址是:%d\n",&p);

    return 0;
}

运行结果:

pt指向的指针所指向的内存单元的值是:100
p指向的内存单元的值是:100
x的值是:100
pt的值是:6487560
p的地址是:6487560

x,p和pt关系图如下:

同理我们如果要定义一个三级指针指向pt,可以这样写:

int*** ppt =&pt;

但是在实际开发中最多会用到二级指针,几乎用不到二级以上的高级指针。