struct与typedef 结构体定义
发布日期:2021-05-07 13:31:51 浏览次数:22 分类:原创文章

本文共 2445 字,大约阅读时间需要 8 分钟。

结构体的基本定义方法有三种:

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;

 

上一篇:c/c++ 实参、形参、值传递、地址传递的区别与关系 ---- 授人以鱼不如授人以渔
下一篇:CSDN设置插入代码的背景色为黑色 csdn更改背景色、主题

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月04日 08时15分35秒