c语言中,指针变量p,整型变量a,p指向a;那么*p 、 p、 a、 &a是什么关系?

*p=a,*p=&a,p=&a,p=a,哪个是对的?求解,最好附上一两个例子,谢谢
2024-11-05 23:28:27
推荐回答(4个)
回答(1):

指针类的题目记住一个原则,就是两边类型要一致。
因此,*p=a和p=&a是对的,其余是错的。
在这里p是指针,而*p是变量,所以*p=a是对的。
什么是指针,指针就是地址,因此p=&a是对的。
这里最容易混淆的一点是:定义时的写法可以特殊一点。例如:
int a=8; int *p=&a;
这也是对的,尽管违背了我前面前的原则(左边是变量右边是地址),但这是定义,等同于:
int a=8; int *p; p=&a;

回答(2):

*p=a,p=&a是对的。
*是取地址所指向的内容(值);
&是取变量的地址。
指针变量的内容(值)就是一个地址值,指针其实“就是”地址。

回答(3):

*P=A,意思是将A的值赋给指针变量P,
*P=&A是两重指针的概念
P=&A意思是将A的地址赋给p,前面一般要先进行定义 int *p
P=A语法错误

回答(4):

*p=a, p=&a是对的