int a=1; a是一个整形变量
a=1,&a=0x0001
int *b=&a;b是一个指针,指向变量a,b存储的是a的地址
b=&a=0x0001,*b=a=1,&b=0x0002
int **c=&b;c是二级指针,指向指针b,c存储的b的地址
c=&b=0x0002,*c=b=&a=0x0001,**c=*b=a=1,&c=0x0003
举例:
一级指针
在函数里的p是q的一个复制体,p和q并不是同一个指针,在经过函数变化后,q不变,p指向b。
二级指针
**p里面存放的是*q的地址,函数里面修改的*q的值(即所指向的地址),所以q的值会变化,q指向b。