指针与指针的地址
#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\r\n", &x);//x的地址 printf("x = %d\r\n\n", x);//x的内容 printf("&px = %p\r\n", &px);//px的地址 printf("px = %p\r\n", px);//px的内容 printf("*px = %d\r\n\n", *px);//px的内容作为地址的内容 printf("&ppx = %p\r\n", &ppx);//ppx的地址 printf("ppx = %p\r\n", ppx);//ppx的内容 printf("*ppx = %p\r\n", *ppx);//ppx的内容作为地址的内容 printf("**ppx = %d\r\n\n", **ppx);//ppx的内容作为地址的内容再作为地址的内容 return 0; }
输出结果:
&x = 0x7fff9015862c x = 3 &px = 0x7fff90158630 px = 0x7fff9015862c *px = 3 &ppx = 0x7fff90158638 ppx = 0x7fff90158630 *ppx = 0x7fff9015862c **ppx = 3