结构体的基本定义方法有三种:
struct 结构体名 变量名;struct 结构体名 变量名 = { 成员1值, 成员2值... };定义结构体时顺便创建变量;
这三种的具体代码如下:
/* ------------------ 1.struct 结构体名 变量名; 之后进行赋值操作 ------------------ */struct Student{// 成员列表string name; // 姓名int age;// 年龄int score;// 分数};int main() {//struct Student xiaoMing;Student xiaoMing;// struct关键字可以省略xiaoMing.name = "小明";xiaoMing.age = 18;xiaoMing.score = 96;xiaoMing = { "小明", 18, 96 };cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;system("pause");return 0;}/* -------------- 2.struct 结构体名 变量名 = { 成员1值, 成员2值... }; -------------- */struct Student{// 成员列表string name; // 姓名int age;// 年龄int score;// 分数};int main() {Student xiaoMing = {"小明", 18, 96};cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;system("pause");return 0;}/* -------------------- 3.定义结构体时顺便创建变量; -------------------- */struct Student{// 成员列表string name; // 姓名int age;// 年龄int score;// 分数}xiaoMing;int main() {xiaoMing.name = "小明";xiaoMing.age = 18;xiaoMing.score = 96;xiaoMing = { "小明", 18, 96 };cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;system("pause");return 0;}-----------------------------------------------------------------------------------姓名:小明 年龄:18 分数:96请按任意键继续. . .
其中,第三种方式 -3.定义结构体时顺便创建变量;,在创建单个结构体时较为方便。
而创建多个结构体时,显得倒不如以上两种来的直观。
于是使用第3种方法创建多个结构体时,通常会使用上 typedef。
使用 typedef 定义 struct 结构体:
typedef struct Student{// 成员列表string name; // 姓名int age;// 年龄int score;// 分数}Stu;// 这里相当于使用 typedef,将整个结构体起了个叫为 Stu 的别名。int main() {Stu xiaoMing, xiaoHong, xiaoLiang;xiaoMing = { "小明", 18, 96 };xiaoHong = { "小红", 20, 100 };xiaoLiang = { "小亮", 21, 98 };cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;cout << "姓名:" << xiaoHong.name << " 年龄:" << xiaoHong.age << " 分数:" << xiaoHong.score << endl;cout << "姓名:" << xiaoLiang.name << " 年龄:" << xiaoLiang.age << " 分数:" << xiaoLiang.score << endl;system("pause");return 0;}--------------------------------------------------------------------------------------姓名:小明 年龄:18 分数:96姓名:小红 年龄:20 分数:100姓名:小亮 年龄:21 分数:98请按任意键继续. . .
在上面代码中,相当于使用 typedef,将整个 Student结构体起了个叫为 Stu 的别名,方便书写与记忆。
而实例化时,本质还是使用的第三种定义方式 -3.定义结构体时顺便创建变量;
typedef struct Student
{
// 成员列表
string name; // 姓名
int age; // 年龄
int score; // 分数
}Stu;
Stu xiaoMing, xiaoHong, xiaoLiang;