雨天Zz 发表于 2020-8-30 11:02:38

结构变量

下面定义结构变量的语句错误的是
A. struct student {int num;char name;}s;
B.struct{int num;char name;}s;

C. struct student {int num;char name;};struct student s;
D. struct student {int num;char name;};student s;

baige 发表于 2020-8-30 12:05:53

本帖最后由 baige 于 2020-8-30 12:37 编辑

D
这道题考察的是结构体定义的三种方式
1,先构造,后定义
2,构造同时定义
3,构造同时定义,省略类型名,但不能定义新变量

sunrise085 发表于 2020-8-30 12:38:01

定义都没错啊
若非要选一个的话,我选B
因为B没有给出结构体的名字,相当于没有给出该类型数据的名字,不能再次定义该类型的变量,但是这里的一的这个结构体变量s是可以使用的。
程序不会报错,最多是有一个警告吧,警告说你这个结构体类型没有名字。

baige 发表于 2020-8-30 12:55:58

sunrise085 发表于 2020-8-30 12:38
定义都没错啊
若非要选一个的话,我选B
因为B没有给出结构体的名字,相当于没有给出该类型数据的名字,不 ...

C语言的话D是错的

sunrise085 发表于 2020-8-30 13:09:38

baige 发表于 2020-8-30 12:55
C语言的话D是错的

学习了。看来我是C++看多了,没有注意到C的这个细节

wxiaop 发表于 2020-8-30 15:26:03

D错了啊

雨天Zz 发表于 2020-9-1 23:17:40

baige 发表于 2020-8-30 12:05
D
这道题考察的是结构体定义的三种方式
1,先构造,后定义


D咋错的呀,是因为分号码

baige 发表于 2020-9-1 23:18:28

雨天Zz 发表于 2020-9-1 23:17
D咋错的呀,是因为分号码

struct student {int num;char name;};struct student s;
这样才是对的

雨天Zz 发表于 2020-9-3 20:13:30

baige 发表于 2020-8-30 12:05
D
这道题考察的是结构体定义的三种方式
1,先构造,后定义


这四个选项分别属于定义结构变量的哪几种方式

baige 发表于 2020-9-3 20:25:21

雨天Zz 发表于 2020-9-3 20:13
这四个选项分别属于定义结构变量的哪几种方式

231,CD一样

雨天Zz 发表于 2020-9-3 20:27:40

baige 发表于 2020-9-3 20:25
231,CD一样

啥叫先构造,后定义啊?没搞明白,老师能不能讲一下

baige 发表于 2020-9-3 20:29:22

雨天Zz 发表于 2020-9-3 20:27
啥叫先构造,后定义啊?没搞明白,老师能不能讲一下

构造struct student {int num;char name;}
定义就是定义这个结构体的变量

雨天Zz 发表于 2020-9-3 20:31:09

baige 发表于 2020-9-3 20:29
构造struct student {int num;char name;}
定义就是定义这个结构体的变量

奥,那}后面加了个分号,就是分先后顺序,先构造后定义吗?

baige 发表于 2020-9-3 20:31:32

雨天Zz 发表于 2020-9-3 20:31
奥,那}后面加了个分号,就是分先后顺序,先构造后定义吗?

雨天Zz 发表于 2020-9-3 20:32:45

baige 发表于 2020-9-3 20:31


后定义的话,还要必须单独加那个struct,是这个意思吗

baige 发表于 2020-9-3 20:33:38

雨天Zz 发表于 2020-9-3 20:32
后定义的话,还要必须单独加那个struct,是这个意思吗

C语言需要加struct,C++就不需要了
页: [1]
查看完整版本: 结构变量