引入

在现实问题中,常常需要用一组不同类型的数据来描述一个事物。比如一个学生的学号、姓名和绩点。一个工人的姓名、性别、年龄、工资、电话......

如果编程时要用多个不同类型的变量来描述一个事物,就很麻烦。当然希望只用一个变量就能代表一个“学生”这样的事物。

C++允许程序员自己定义新的数据类型。因此针对“学生”这种事物,可以定义一种新名为Student的数据类型,一个Student类型的变量就能描述一个学生的全部信息。同理,还可以定义数据类型 Worker以表示工人。

结构(struct)

结构的定义

用“struct”关键字来定义一个“结构”,也就定义了一个新的数据类型:

struct 结构名 { 类型名 成员变量名; 类型名 成员变量名; 类型名 成员变量名; …… };

示例

struct Student {
	unsigned ID;
	char szName[20];
	float fGPA;
};

Student 即成为自定义类型的名字,可以用来定义变量 Stuent s1,s2;

Student s1,s2;

注意

struct Date {
	int year;
	int month;
	int day;
};
	struct StudentEx {
	unsigned ID;
	char szName[20];
	float fGPA;
	Date birthday;
};
struct Employee {
	string name;
	int age;
	int salary;
	Employee * next;
};