单选题
1、第95题 (1.0分) 题号:532 结构体类型的定义允许嵌套是指()。
A
成员是已经或正在定义的结构体型
B
成员可以重名
C
结构体型可以派生
D
定义多个结构体型
答案解析
正确答案:A
解析:
**解析:**
本题考查的是 C 语言中结构体(struct)定义的特性,具体涉及**结构体的嵌套定义**。
1. **分析选项 A**:
* **含义**:结构体类型的定义允许嵌套,意味着一个结构体的成员可以是另一个结构体类型的变量。
* **举例**:
```c
struct Date {
int year;
int month;
int day;
};
struct Student {
char name[20];
struct Date birthday; // 成员是另一个已经定义的结构体类型
};
```
* **结论**:这是结构体嵌套的标准定义,因此 **A 选项正确**。需要注意的是,虽然通常引用的是“已经定义”的结构体,但在某些编译器支持或特定语境下,也可以理解为结构体内部包含其他结构体类型的概念。核心在于“成员是结构体型”。
2. **分析选项 B**:
* **含义**:成员可以重名。
* **错误原因**:在同一个结构体内部,成员名称(标识符)必须是唯一的,不能重名,否则编译器无法区分不同的成员。不同结构体之间的成员可以重名,但这与“嵌套定义”无关。
3. **分析选项 C**:
* **含义**:结构体型可以派生。
* **错误原因**:“派生”是面向对象编程(如 C++、Java)中类的继承概念。C 语言中的结构体不支持继承机制,因此不存在“派生”这一说法。
4. **分析选项 D**:
* **含义**:定义多个结构体型。
* **错误原因**:在一个程序中当然可以定义多个不同的结构体类型,但这只是基本的定义行为,并不特指“嵌套”这一特性。嵌套特指结构体之间的包含关系,而非数量上的多少。
**综上所述,结构体嵌套是指一个结构体的成员是另一个结构体类型,故正确答案为 A。**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第164题 (1.0分) 题号:631 结构化程序设计所规定的三种基本控制结构是()。
单选题
1、第163题 (1.0分) 题号:712 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。
单选题
1、第162题 (1.0分) 题号:687 表达式,0x13&0x17的值是()。
单选题
1、第161题 (1.0分) 题号:113 执行下列语句后变量x和y的值是()。 y=10;x=y++;
单选题
1、第160题 (1.0分) 题号:634 以下不正确的定义语句是()。
单选题
1、第159题 (1.0分) 题号:642 在C语言中,一维数组的定义方式为:类型说明符数组名()。
单选题
1、第158题 (1.0分) 题号:181 C语言中函数调用的方式有()。
单选题
1、第157题 (1.0分) 题号:717 fscanf函数的正确调用形式是()。
单选题
1、第156题 (1.0分) 题号:653 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。
单选题
1、第155题 (1.0分) 题号:604 下面不正确的字符串常量是()。
