指针变量与普通变量多了一个解引用的作用。
//x86或者32位平台,指针4字节。
//x64或者64位平台,指针8字节。
int main()
{
int a = 10;
int b = 20;
int *p = &a;//定义时*说明p是个指针变量
*p = 100;//解引用(间接访问).等价于a=100。
p = &b;//p重新保存b的地址
*p = 200;//解引用。等价于b=200.
int **pp = &p;//int a,&a->int*,int *p,&p->int **
*pp = &a;//p=&a;一次解引用
**pp = 1000;//*p = 1000;a=1000;二次解引用
*pp = &b;//p = &b;
**pp = 2000;//*p = 2000;b =2000;
//int *q;
//pp = &q;
//pp = &a;//error
printf("%d\n%d\n",a,b);
return 0;
}
//指针==地址
//获取任何变量的地址都是 &变量名
//*指针变量名,则间接访问(解引用)到指针指向的变量
//指针赋值,必须类型一样。