第9章结构体类型与共用体类型
第9章结构体类型与共用体类型
9.1 结构体类型
9.2 结构体数组
9.3 共用体类型
9.4 枚举类型
9.5 程序设计举例
第9章结构体类型与共用体类型
9.1 结构体类型
9.1.1 结构体类型的定义
结构体类型定义用关键字struct标识,形式为:
struct 标识符
{成员表};
第9章结构体类型与共用体类型
例如,定义结构体类型,描述下列数据。
(1) 学生情况,包含学生的学号、姓名、性别、年
龄、C语言课程成绩:
struct student
{int no;/*学号*/
char name [8];/*姓名*/
char sex ;/*性别*/
int age ;/*年龄*/
float cscore;/*C成绩*/
};
第9章结构体类型与共用体类型
如考虑30 门课程成绩,加上总成绩与平均成绩,可作
如下定义:
struct student
{int no;/*学号*/
char name [8];/*姓名*/
char sex ;/*性别*/
int age ;/*年龄*/
float score [31 ];/*30 门课程成绩*/
float tcj,acj ;/*总成绩,平均成绩*/
};
第9章结构体类型与共用体类型
(2) 个人数据,包含姓名、性别、年龄、身高、体
重、住址:
struct person
{char name [8];/*姓名*/
char sex ;/*性别*/
int age ;/*年龄*/
float height ;/*身高*/
float weight ;/*体重*/
char add [40 ];/*住址*/
};
第9章结构体类型与共用体类型
(3) 平面上的点:
struct point2
{float x;/*横坐标*/
float y;/*纵坐标*/
};
如考虑空间中的点,可作如下定义:
struct point3
{float x;/*X坐标*/
float y;/*Y坐标*/
float z;/*Z坐标*/
};
第9章结构体类型与共用体类型
(4) 日期,包括年、月、日:
struct date
{int year;/*年*/
month ;/* 月*/
day ;/* 日*/
};
如考虑时间,可作如下定义:
struct time
{int hh;/* 时*/
int mm ;/*分*/
int ss ;/*秒*/
};
第9章结构体类型与共用体类型
(5) 复数:
struct complex
{float re;/*