指针类的题目记住一个原则,就是两边类型要一致。
因此,*p=a和p=&a是对的,其余是错的。
在这里p是指针,而*p是变量,所以*p=a是对的。
什么是指针,指针就是地址,因此p=&a是对的。
这里最容易混淆的一点是:定义时的写法可以特殊一点。例如:
int a=8; int *p=&a;
这也是对的,尽管违背了我前面前的原则(左边是变量右边是地址),但这是定义,等同于:
int a=8; int *p; p=&a;
*p=a,p=&a是对的。
*是取地址所指向的内容(值);
&是取变量的地址。
指针变量的内容(值)就是一个地址值,指针其实“就是”地址。
*P=A,意思是将A的值赋给指针变量P,
*P=&A是两重指针的概念
P=&A意思是将A的地址赋给p,前面一般要先进行定义 int *p
P=A语法错误
*p=a, p=&a是对的