C语言程序设计教程
第七章
结构体、共用体和枚举类型数据
1.教学内容:§71结构体类型概述711结构体的概念及其定义§72结构体类型变量的定义和引用721定义结构体类型变量的方法722结构体变量的初始化723结构体变量的引用724结构体的输入和输出§73结构体数组731结构体数组的定义方法732结构体数组的初始化733结构体数组的引用§74结构体变量作为函数参数以及返回的结构体类型值的函数741结构体变量作为函数参数742返回的结构体类型值的函数§75结构体变量与指针751指向结构体变量的指针752指向结构体数组的指针753用指向结构体变量的指针作函数参数§76动态存储分配链表761动态存储分配和链表的概念762用包含指针项的结构体变量构成结点763用于动态存储分配的函数764链表应用举例§77共用体类型数据771共用体的概念772共用体变量的引用773共用体变量的应用§78枚举类型数据§79用TYPEDEF定义类型2.教学目的及要求:1掌握结构体类型的概念和定义方法,结构体变量的定义和引用2掌握指向结构体变量的指针变量的概念和应用3掌握链表的概念和应用2掌握共用体类型的概念和应用3掌握枚举类型的概念和应用3.教学重点:结构体变量的定义和引用,结构体变量与指针,共用体引用
第七章
结构体、共用体和枚举类型数据
§71结构体类型概述711结构体的概念及其定义
第1页共31页
fC语言程序设计教程
结构体(structure)是一种数据类型,它把互相联系的数据组合成一个整体。其定义形式:
Struct结构体名成员项列表;
结构体类型不同于基本数据类型,其特点有:⑴由若干数据项组成,每一个数据项都属于一种已有定义的类型。每个数据项称为一个结构体的成员,也可称为“域”。它不是一个变量。⑵结构体类型并非只有一种,它是由若干不同类型数据项组成的复合类型。⑶定义一个结构体类型,并不意味着系统将分配一段内存单元来存放各数据项成员。只是告诉系统成员的类型、各占的字节数、存储方式,并把它们当作一个整体来处理。⑷凡需使用结构体类型数据,都必须在程序中自己定义。【例】:一个学生的学号、姓名、性别、年龄、成绩、地址,是互相联系的数据,在C语言中用“结构体(structure)”来定义。
structstude
ti
t
um学号char
ame20姓名charsex性别i
tage年龄floatscore成绩charaddr30地址};struct是关键字,不能省略。stude
t是定义的结构体类型名。结构体中的每一r