题库首页 › GESP等级认证(C++) › 题目 25394

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

A:struct Point { int x, y; }; Point p = (1,2);
B:struct Point { int x, y; }; Point p = {1,2};
C:struct Point { int x, y; }; Point p = new Point(1,2);
D:struct Point { int x, y; }; Point p = ;

正确答案:B

答案解析

结构体定义后,变量初始化需符合语法规范。圆括号用于函数调用或构造函数调用,不适用于C风格聚合初始化。花括号可用于聚合初始化,前提是按成员声明顺序提供初始值。new操作符用于动态分配内存,返回指针类型,不能直接赋值给非指针变量。未提供初始值且缺少初始化表达式时,语法不完整。初始化形式必须与语言版本允许的规则一致,不依赖隐式构造函数存在与否。

试卷来源:202603 CCF-GESP编程能力等级认证C++四级真题

本卷相关题目

在线做题 同科目题库