一维指针二维指针深入浅出

Posted on 2024-03-22 14:38  牛man  阅读(2)  评论(0编辑  收藏  举报

实例:

#include<stdio.h>
int main(void)
{
    int i = 3; 
    int *p = &i;
    int **r = &p;
    printf("&i = %p, p = %p, *p = %d,*r = %p, r = %p,**r = \
              %d\n", &i, p, *p, *r, r, **r);
    return 0;
}

求出结果: *p = 3,p = 000000000062FE3C, &i = 000000000062FE3C, r = 000000000062FE30, *r = 000000000062FE3C, **r = 3

解释:

p 保存的是变量i的地址, r经过一次解引用得到p,在经过一次解引用运算得到*p

 

总结:

二维指针保存的是一维指针的值,一维指针保存的是变量的地址