指针与指针的地址

#include <stdio.h>

//一般用"地址"表示常量,用"指针"表示存储地址的变量
int main(int argc, char *argv[])
{
    
    int x = 3;   //定义int型变量x,内容为整数3
    int *px = &x;  //定义指向int型变量的指针px,内容为变量x的地址
    int **ppx = &px; //定义指向int型变量地址的指针ppx,内容为指针px的地址

    printf("&x = %p
", &x);//x的地址
    printf("x = %d

", x);//x的内容

    printf("&px = %p
", &px);//px的地址
    printf("px = %p
", px);//px的内容
    printf("*px = %d

", *px);//px的内容作为地址的内容

    printf("&ppx = %p
", &ppx);//ppx的地址
    printf("ppx = %p
", ppx);//ppx的内容
    printf("*ppx = %p
", *ppx);//ppx的内容作为地址的内容
    printf("**ppx = %d

", **ppx);//ppx的内容作为地址的内容再作为地址的内容

    return 0;
}


输出结果:

&x = 0x7fff9015862c
x = 3

&px = 0x7fff90158630
px = 0x7fff9015862c
*px = 3

&ppx = 0x7fff90158638
ppx = 0x7fff90158630
*ppx = 0x7fff9015862c
**ppx = 3
原文地址:https://www.cnblogs.com/zzdbullet/p/10692813.html