以下对结构变量stul中成员age的非法引用是( )
struct student { int age; int num; }stu1,*p; p=&stu1;
A) stu1.age B) student.age C) p->age D) (*p).age
补充说明一下C和D项。
“p->age”和“(*p).age”,它们是等价的,区别在于,一个是通过结构体指针访问成员变量,一个是结构体变量访问成员变量。
结构体指针访问成员变量的操作符是 “->”,结构体变量访问成员变量的操作符是“.”
“p->age”是指针p访问成员变量,所以用“->”;
“(*p).age”,相当于stu1访问成员变量,所以用“.”,因为第6行代码“p=&stu1;”,使得指针p指向了stu1,然后通过"*"进而访问到stu1,也就是说,(*p)就是stu1
”
B student是结构名,stu是一个student类型的变量,使用"."引用;p是student类型的指针,使用"->"引用(*p相当于变量,使用".")
结构名student 只能用来创建一个新的实例,然后再取到结构体里面的值
这个答案真的不是错的吗
yth961102zxc 回复 yth961102zxc: 对不起我没注意题目是非法
是错的。。
c
B
用户登录可进行刷题及查看答案
登录后提交答案