C/C++程序设计教程 C语言程序设计6新.ppt
文本预览下载声明
《C与C++程序设计教程》-第六章 第六章 构造数据类型 6.1 结构体 6.2 共用体 6.3 位字段 6.4 枚举类型 6.5 用typedef定义类型 6.1结构体 结构体类型 结构体类型变量(结构体变量) 结构体的成员(成员):组成结构体的每个数据。 6.1.1 结构体类型定义 6.1.2 结构体变量说明 6.1.3 结构体变量的使用 6.1.4 结构体变量的初始化 6.1.5 结构体数组 6.1.6 结构体和函数 6.1.2 结构体变量定义 间接定义 直接定义 无名定义 typedef定义 2.共用体变量的定义 间接定义 直接定义 无名定义 6.3 位字段 C语言中数据类型的最小长度char占一个字节(8位),而有时只需1位或几位来表示信息。 位字段数据:命令字、方式字和状态字等以二进制位为单位的信息。C语言可以对之处理,这是高级语言的低级形式的一种表现。 1. 位字段的定义 借助结构体类型,以二进制位为单位来说明结构体中成员所占空间。 struct [结构体名] { unsigned [位段名]:常量表达式; /*常量表达式表示位字段宽度(位)*/ …… }; 2.位字段变量的说明 间接定义 直接定义 无名定义 3.位字段变量的使用 6.4 枚举类型 枚举:将变量的值一一列举出来,变量的取值仅限于列举值的范围内。 1. 枚举类型的定义 enum [枚举类型名]{ 枚举元素1[=整型常量1],枚举元素2[=整型常量2],……}; 枚举元素:又称枚举值、枚举常量。 2.枚举变量的定义 间接定义 直接定义 无名定义 3. 枚举数据的使用 [例6.9]枚举类型应用。 #include stdio.h enum key { A,B,C,D,END=9 }select; enum key input() { int i; printf(input digit number: ); scanf(%d,i); return((enum key)i); }; main() { enum key input(); while(1) { select=input(); if(select==END) break; 6.5 用typedef定义类型1.一般形式 typedef 类型名 标识符;注:(1) typedef只定义类型名,不能定义变量名,是类型名的别名。 (2) 与#define相似,但有区别,新旧类型位置相反。 2. 用typedef说明类型的步骤1) 先定义变量的方法写出定义体。2) 把变量名换成新类型名。3) 在最前面加上typedef。4) 已定义完新类型名,可用此新类型名 去 定义变量。 Thank you ! * * 空值型 void 用户定义类型 typedef 双精度型 Double 枚举型 enum 实型 float 指针类型 共用体(联合)型union 字符型 char 数组类型 结构体 struct 整型 int 派生类型 构造类型 基本类型 构造数据类型(导出类型):由基本数据类型按一定规则组合而成的。广义上包括表中的构造类型和派生类型。 同一类型数据的顺序排列 类型不同但相互关联 退出 返 回 struct [结构体类型名] { 类型名 结构体成员名; /*成员表*/ …… }; 6.1.1 结构体类型定义 [例6.1]描述通讯录的结构体类型。 struct person { char name[20]; int age; char sex; char address[100]; long zipcode; }; [例6.2]结构体类型的嵌套定义。 struct birthday { int year; int month; int day; }; struct person { char name[20]; struct birthday date; char sex; char address[100]; long zipcode; }; 类型名
显示全部