C++问题14

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:22:10
4.有变量说明
struct ptype{int x;int y;)
ptype point[3]={1,2,3,4,5,6},*p=point;
以下不正确的引用是:( )
(A)(p++).x (B)point.y (C)(p++)->x (D)(*p).y
说明为什么

答案(A)应该写成(p++)->x
p是指向ptype结构变量的指针,指向point结构数组的第一个元素,(p++)先赋值后运算,所以(p++)也是指向point结构数组的第一个元素,作为一个指针,访问它指向的point结构数组的元素的数据成员x,应该用箭头操作符->;
答案(B)也有错
point作为数组名,在C++中数组名单独使用时相当于指向数组第一个元素的指针,所以point.y要么改成point->y,要么改成point[0].y;

A,B
p是指针哦,p++后仍然是指针
要用->

A,我提交答案之后知道的,包对