文档详情

第九章结构体联合体枚举.ppt

发布:2020-02-25约5.6千字共38页下载文档
文本预览下载声明
结构体 数据类型 C数据类型 基本类型 构造类型 指针类型 空类型 整 型 浮 点 型 字 符 型 枚举类型 单精度浮点型 双精度浮点型 数组类型 结构体类型 联合体类型 结构体类型的定义 结构体类型定义的一般形式为: struct 结构体名 { 类型名1 成员名1; …… 类型名n 成员名n; } ; struct是结构体类型的标志。结构体名是由用户定义的标识符,它规定了所定义的结构体类型的名称。结构体类型的组成成分称为成员,成员名的命名规则与变量名相同。 结构体类型的定义 结构体类型定义形式 例如: struct person { char name[20]; char sex; int age; float height; } ; 表示定义了一个结构体类型——struct person,它由name、sex、age和height四个成员组成。 练习:定义一个结构体类型struct student,要求包含学生姓名、学号、数学成绩、英语成绩、计算机成绩、总分、邮政编码、通讯地址。 结构体类型的定义 在结构体类型定义中要注意以下几点: 结构体类型定义中可以包含另外的结构体,即结构体是可以嵌套的。例如: struct date { int year; int month; int day; }; struct person { char name[20]; char sex; struct date birthday; float height; }; 结构体类型变量 一、结构体变量的定义 定义结构体类型,只是说明了该类型的组成情况,编译系统并没有给它分配内存空间,就象系统不为int等类型本身分配空间一样。只有当定义属于结构体类型的变量时,系统才会分配存储空间给该变量。 结构体类型变量 一、结构体变量的定义 1. 先定义结构体类型,再定义变量。例如: struct person { char name[20]; char sex; int age; float height; }; struct person per; 表示先定义了结构体类型struct person,然后定义了一个struct person类型的结构体变量per。 结构体类型变量 一、结构体变量的定义 结构体变量占用的内存空间是其成员所占内存之和,因此per 占用的内存空间为20+1+4+4=27个字节。结构体变量中的各成员在内存中按定义的顺序依次排列。 注意:定义变量时,struct person必须在一起使用,它的用法与int、char等类型名的用法相同。 成员名 所占空间 (字节数) name height age sex 20 1 4 4 结构体类型变量 二、结构体变量的引用 (1)对结构体变量中成员的引用 引用的一般形式为: 结构体变量名.成员名 结构体类型变量 (1)对结构体变量中成员的引用 #include stdio.h struct person { char name[20]; char sex; struct data { int year; int month; int day; }; float height; }; void main() { person per; data birthday; printf(Enter the name: ); gets(per.name); per.sex=’M’; per.birthday.year=1982; per.birthday.year++; per.birthday.month=12; per.birthday.day=15; per.height=(175+176)/2; printf(%s%3c%4d/%2d/%d%7.1f\n,per.name,per.sex, per.birthday.month, per.birthday.day, per.birthday.year, per.height);}
显示全部
相似文档