首页 > 试题广场 >

有以下说明语句: struct Student

[单选题]
有以下说明语句:
struct Student {
    int num;
    double score;
};

Student stu[3] = {{1001,80}, {1002,75}, {1003,91}}, *p = stu;
则下面引用形式错误的是()
  • p->num
  • (p++).num
  • (p++)->num
  • (*p).num
B缺少一个*,*.=->
发表于 2018-09-16 08:23:13 回复(0)
运算符-> 相当于运算符 *.
即p->num与(*p).num等价

发表于 2018-11-06 19:51:39 回复(0)
->只用于结构体指针访问成员;
.点只用于结构体名访问成员;
发表于 2018-08-29 14:07:46 回复(0)
p是结构体指针,结构体指针是"->",*p相当于str,是变量名,应当用"*."。
发表于 2019-08-03 12:54:34 回复(0)
p是指针,只能用->运算符访问成员
发表于 2018-05-29 21:54:28 回复(0)
#include <stdio.h>
main()
{   
    struct Student
    {
        int num;
        double score;
    };
    Student stu[3]={{1001,80}, {1002,75}, {1003,91}};
    printf("%d\n", stu[0].num);
    printf("%d",  (&stu[0])->num);
}


发表于 2018-07-23 15:16:29 回复(0)
这里的第六行是不是改为struct Student stu[3] = {{1001,80}, {1002,75}, {1003,91}}, *p = stu;更为标准呢?
发表于 2023-06-03 12:17:03 回复(0)
p指向的是stu数组的首地址,指针访问数据要使用->;而*p就是数组stu当中的元素(这些元素是Student类型),结构体访问数据用.
发表于 2022-04-02 04:55:35 回复(0)
运算符-> 相当于运算符 *.
即p->num与(*p).num等价
发表于 2021-11-18 16:25:26 回复(0)
运算符-&gt;相当于*•
编辑于 2021-11-07 23:30:57 回复(0)
这个题目stu的定义应该是struct Student stu[3]={{1001,80}, {1002,75}, {1003,91}}; 因为在定义结构体的时候没有typedef给结构体重命名。
发表于 2021-07-05 10:41:13 回复(0)