*p=&a的写法正确吗

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:06:14
不是说被赋值的指针变量前不能再加“*”说明符.可是为什么列题中又这样子写呢?

不对,*p是他所指向地址的内容,p是他所指向的地址
&a是变量a的地址
把地址传给指针p,应该是p=&a
例题里这样些有可能是在定义指针时,比如int *p=&a
就是对的,不是定义并赋值就不行的
要么就是书印错le

* 和 &互为逆运算,另外*用于声明指针变量,
在声明完之后,*运算符表示取指针所指变量的值,所以
这样写是对的:

int *p=&a; //即在声明p指针的时候就将其赋值,值为a变量的地址,即p指针指向a

而这样写是错的:

int *p;
*p=&a;

像是要在里面放个指针呢,时间长了,都忘记了。在程序里实验一下了。

如果p是一个比a高一级的同类型的指针才对,或者这样也对:在定义是如:
int *p=&a;

正确