首先我们必须相信自己,指针式本身学习起来不难,但是和类型强制转换相结合起来难度就加大了。
我们把内存看成一条很长的街道,街上有很多门牌号(门牌号就类似于你的身份证号是独一无二的且不可更改的),而指针就是门牌号(地址)。
我们先定义两个变量 int a=10;int b=20;&a就是得到a的地址,同理&b就是得到b的地址,在内存中假设a的地址为1000,b的地址为2000 。那么&a=1000,&b=2000。定义一个指针变量来存放a的地址,int * p=&a。* 就是解引用符(解引用)例如*p的作用就是跳到a,*p=100;就是将100赋值给a。我们还可以定义一个二级指针来存放 p的地址,int *pp=&p(int * pp,p=&a);*pp就是对pp解引用一次,这样就跳到了p,并把a的地址赋值给p。
我们定义一个三级指针,并把a,b的值改为5000,6000
int ***ppp=&pp;
**ppp=&a;
***ppp=5000;
**ppp=&b;
***ppp=6000;
指针的大小:
16位平台 指针2个字节
32位平台(平常) 指针4个字节
64位平台 指针8个字节