这个问题的答案是什么呀

img


我想问一下int *c=&a 和 int *c=a 和 c=&a的区别 不是很懂

int *c=&a; 这句的意思,定义一个int * 整形指针变量 c , 同时给指针 c 赋初始值 &a (变量 a 的地址值),这句拆分为:int*c; c = &a; 两句。
int *c=a ;这句看变量 a 的定义是怎样的,如果是普通变量如 int a;则是错误的赋值,编译不会过。如 a 是指针变量,则是将指针变量 a 的值赋值给指针变量 c 。
c=&a;给指针变量 c 赋值,赋值变量 a 的地址值。

int *c=&a等价于
int *c;
c=&a;
两条语句

int *c=a
这句也和上一句差不多,但是这里要求a是int型的指针

&是取地址符
&a表示a的地址

*是取值符
*一个指针表示访问那个指针指向的地址存储的值