######指针初始化&赋值
指针综述
指针就是个变量,只不过这个变量比较特殊用来存放变量的地址。不同类型的指针只是指针所指向的变量的类型不同。
指针的初始化&赋值
指针的初始化只能赋值内存地址,不能初始化赋值内存数据,初始化内存数据是非法的。
int a =0;
int *P=0;是唯一合法的初始化赋值内存数据
int *P=1;错误
int *P=0x30000000;正确的理由是0x30000000是地址,在单片机里面有可能见到这样的赋值。
正确的赋值如下:
int *P;
int a=10;
P=&a;或者int *P=&a;
指针的赋值另一种解释:
指针的赋值, “ = ” 的左操作数可以是 * p,也可以是 p。
当 “ = ” 的左操作数是*p时:
1.改变的是p所指向的地址存放的数据。
2. “ = ” 的右操作数是地址时,等价于赋值p所指向的地址。
当 “ = ” 的左操作数是p时,改变的是p所指向的地址。