下面的描述中,( )正确定义一个名为 Person 的结构体并正确初始化了一个 Person 结构体的变量 p。
A.
struct Person {
string name;
int age;
};
Person p("Yang", 10);B.
struct Person {
string name,
int age;
};
Person p;
p.name = "Yang";
p.age = 10;C.
struct Person {
string name;
int age;
};
Person p = { "Yang", 10 };D.
struct Person {
string name;
int age;
};
Person p = new Person("Yang", 10);答案C。根据C++语法规则分析各选项。注意赋值、运算、类型等细节。
仔细审题,注意每个选项的语法细节。区分合法写法与错误写法。
【考点】结构体定义|聚合初始化|指针与引用
GESP 四级“数据结构与算法”模块,考察结构体定义与初始化。命题人卡住的是考生对 C++ 语法细节的掌握——很多人只背“结构体用花括号定义”,却忽略初始化方式(构造函数 vs 聚合初始化)和指针陷阱。