本章要点
了解结构
了解关于结构的各种操作
理解怎样使用结构操作数据
理解结构和函数之间的关系、掌握结构作为参数传递与返回结构的函数方法
理解结构中数组的用法
理解怎样创建结构数组
了解共用体的特点
了解枚举类型
问题的提出
学号姓名年龄性别成绩1 成绩2 平均成绩
1 AA 19 M 80 90 90
2 BB 18 F 78 70 73
17 M 81 75 79
4 DD 18 F 80 60 75
5 EE 19 M 76 83 83
每行的数据类型不相同,如何表示此二维数据?
如何交换两行值? 能否将一行看成一个整体?
定义一种类型,把不同的数据作为一个整体来处理——结构体
数据类型
数组------ 有相同类型的数据集合
结构体------ 不同类型的数据集合
构造数据类型:
由简单数据类型(int、float、 char)组合而成的(有机整体)数据类型。
基本类型:
整型、实型、字符型.......
主要内容
结构体类型的定义
结构体类型的变量和结构体类型数组
共用体
枚举类型
结构体类型的定义
定义了一种新的数据类型 struct 结构体名或结构体名
struct 结构体名
{
数据类型成员名1
数据类型成员名2
.............................
数据类型成员名n
};
可为简单类型
也可为构造类型
关键字
不能少
成员列表
例
以学生档案为例,假设包括如下数据项
学号(num):整型
姓名(name):字符串
性别(sex):字符型
出生日期(birthday):date结构体
四门课成绩(sc):一维实型数组
例
依此格式定义上例
struct date
{int year ,month ,day;};
struct student
{int num;
char name[12];
char sex;
date birthday;
float sc[4];
};
如struct date 没事先说明可写成:
struct student
{int num ;
char name[12];
char sex;
struct
{int year;
int month;
int day;
}birthday;
float sc[4];
};
例
例1:一组相关变量定义结构体类型
新数据类型
结构体成员
int month ;
int day ;
int year ;
struct date
{ int year ;
int month ;
int day ;
};
char name[30]; struct wage
float salary ; { char name[30];
float salary ;
};
不同数据类型的成员
例2:一组相关变量定义结构体类型
说明
(1) 结构体类型是一种构造数据类型,它与int, char,float等系统定义的基本数据类型具有同等地位,是由用户自行定义的。
(2) 结构体类型不分配任何存储空间。
相应结构体类型的变量、数组及动态开辟的存储单元占存储空间。
构造的数据类型可以用来定义变量
结构体类型的变量和数组的定义方法
先定义结构体类型,再单独进行定义
在定义类型的同时定义结构体变量
在定义一个无名结构体类型的同时,直接进行定义
第08 结构体共用体和枚举类型 来自淘豆网www.taodocs.com转载请标明出处.