GESP 四级 · GESP 202603 C++ 四级 第 6 题

选择题 · 答案 B

← 整套速查表 GESP 四级 全部真题

题目

下列关于结构体初始化的写法,正确的是( )。

答案:B

解题思维

答案B。根据编程知识分析判断。

常见错误

仔细审题,注意限定词和否定词。用排除法缩小选项范围。

详细解析(节选)

【考点】结构体定义|结构体初始化|聚合初始化

本题考查《GESP 四级 C++ 大纲》中"基本数据类型—结构体"章节的语法规范。命题人特意设置"括号 vs 花括号"的形似陷阱,卡住那些只背了"结构体用花括号"但没理解聚合初始化本质的考生。

看到结构体定义后,先锁定"初始化"动作。C++ 规定聚合初始化必须用花括号 {},这是语言层面的硬性规则。A 的圆括号是函数调用或元组语法,C 的 new 返回指针而非对象,D 的尖括号根本非法。排除法立刻锁定 B。

A 项用圆括号是函数调用语法,C++ 里结构体聚合初始化只能用花括号;C 项 new 返回指针,不能赋值给非指针对象;D 项尖括号连编译器都不会认。这三个都是"看起来像初始化"的伪选项,专门针对会背结论但没摸过键盘的选手。

如果把结构体改成有构造函数,C 项就合法了(但仍是指针);若去掉构造函数且是 POD,B 项依然正确。命题人想考的是"聚合初始化"这一特定语法,而非泛泛的"怎么创建对象"。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断