以下选项中,能定义s为合法的结构体变量的是______。
A:typedef struct abc
{ double a;
char b[10];
} s;
B:struct
{ double a;
char b[10];
}s;
C:struct ABC
{ double a;
char b[10];
}
ABC s;
D:typedef ABC
{ double a;
char b[10];
}
本题 求详细解释! 不明白的地方:不是定义s吗?为什么会有什么 abc double a; char b【10】 这些都是什么意思 求助
A:定义了一个结构体名s,以后可以直接用s来定义变量,如s myvar;
C:定义的时候要用struct ABC s(在C++中可以省略struct,但C中不可以)
D:这个定义都不完整吧,连s都没有出现。。追问
请问这道题什么意思 我一点都不会 完全不懂 他说定义s
跟那个abc 有什么关系 后来那些char 【10】 什么的 都是什么意思
再为我解答一下吧 辛苦~~
。。。你应该有c语言的基本知识吧?
题目的意思就是说下面的选项中哪一个正确的定义了一个结构体变量。变量名被假定为s。
至于后面的abc只是结构体名,这个不用关心,可以是任何的名字。
结构体你应该懂吧?struct{xxx;xxx;}就是在定义结构体。xxx就是该结构体含有的基本的成员。
如果有个名字直接跟在stuct后面,如选项C中的ABC----这个是指结构体名。不是变量名。
如果名字跟在结构体定义的花括号之后,如选项B中的s,这个就是结构体变量名。s是个变量,可以对其进行数据操作。
至于选项A,typedef是类型重定义的意思,即把struct abc这个结构重命名为了s。s应理解为结构体名。如果要定义变量,可以用s直接定义:s myvar 等价于 struct abc myvar。
myvar即为结构体变量。
C的“}”后面应该加个分号追问
请问这道题什么意思 我一点都不会 完全不懂 他说定义s
跟那个abc 有什么关系 后来那些char 【10】 什么的 都是什么意思
再为我解答一下吧 辛苦~~
对于C 的话前面应该加上struct追问
请问这道题什么意思 我一点都不会 完全不懂 他说定义s
跟那个abc 有什么关系 后来那些char 【10】 什么的 都是什么意思
再为我解答一下吧 辛苦~~
自己多看看书吧