在现实问题中,常常需要用一组不同类型的数据来描述一个事物。比如一个学生的学号、姓名和绩点。一个工人的姓名、性别、年龄、工资、电话......
如果编程时要用多个不同类型的变量来描述一个事物,就很麻烦。当然希望只用一个变量就能代表一个“学生”这样的事物。
C++允许程序员自己定义新的数据类型。因此针对“学生”这种事物,可以定义一种新名为Student的数据类型,一个Student类型的变量就能描述一个学生的全部信息。同理,还可以定义数据类型 Worker以表示工人。
用“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;
};