int x=2,y=5,*px=&x,*py=&y; 这叫声明,不叫语句。
声明中 int *px=&x; 正确。它声明 px 是指针,并 初始化为 x 的地址。
如果不是声明,而是语句:
int x=2, *px; // 声明 变量 x, 初始化 x=2, 声明 px 是 指针 变量
*px=&x; // 这里 是语句,这个语句 不正确。
语句里要写:
px = &x; // 把 x 的地址 赋给 px, 也就是 让 px 指向 x.
接下来要是有语句:
*px = 5; // 这个语句正确, 语句里 *px 是 值
y = *px; // 这个语句正确, 语句里 *px 是 值
--------------
C/C++ 奇葩之一,外貌相同的东西,在声明里 和 在 语句里 却可能 不是一回事。
正确。因为这是声明语句,前面有int管着,变量名间是逗号,不然就是错误的了。
什么也不说啦
是可以运行
&x 是取x变量的地址 也是int类型的数
*px=&x
printf("%d",*px);
就是把x的地址打印出来
算不上正确吧,不过编译肯定没有错,最后的一个语句的意思是将x的地址赋给px指向的x变量。