构造数据类型材料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、共用体类型定义 定义方式与结构体类型完全相同。 把结构体类型中的关键字struct换成union即可。 struct memb { float v; int n; char c; } stag; stag占内存7个字节的空间 union memb { float v; int n; char c; } ustag; ustag占的内存空间为4个字节 1001 1005 1007 v n c 2001 v n c 2002 2003 2004 ? 共用体类型变量每次只能存放一个成员的值 例: 三、共用体类型变量的引用 引用方法同结构体变量: (共用体类型变量名).成员名 共用体类型变量的输入输出同结构体类型变量相同。 #includestdio.h union memb { float v; int n; char c; }; main( ) { union memb utag; utag.c=T ; utag.n=18; utag.v=36.7; printf(%5.1f\n%d\n%c\n, utag.v, utag.n, utag.c); } 运行结果:36.7 ?13107 = 例: 想一想: 若改变成员的赋值顺序: utag.v=36.7 utag.n=18 utag.c=T 则运行结果为:36.5 84 T 构造类型(数组,结构体,共用体)的定义可以嵌套。 struct priv { int n; float f; char c; } union publ { int ns; float fs; struct priv mud; } spe[5]; spe为共用体类型数组,每个数组元素所占用的内存单元为: 2001 mud fs ns 2002 2003 2004 2005 2006 2007 注意: 四、可对联合体变量进行的操作 (1) 同类型联合体变量之间的赋值运算 (2) 取某成员的地址 (3) 用指向联合体的指针运算符访问联 合体成员  联合体变量中起作用的成员是最后一次存放的成员。 9.5 枚举数据类型  枚举是用标识符表示的整数常量的集合。 枚举类型定义形式: Enum 枚举类型名 {标识符1, 标识符2, … , 标识符n} ; 枚举型常量的起始值为0。例: enum seasons {SPRING, SUMMER, AUTUMN, WINTER}; enum seasons {SPRING=1, SUMMER, AUTUMN, WINTER};   枚举变量定义的一般形式如下: enum枚举类型名  变量名1,变量名2,…,变量名n; /* exam9_6.c 枚举类型的用法*/ #include stdio.h enum months{JAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC}; main() { enum months month; char *monthName[]={,January,February,March,April, May,June,July,Auguest,September, October,November,Dcember}; for(month=JAN;month=DEC;month++) printf(%2d -- %-10s\n,month,monthName[month]); } 9.6 类型定义  类型定义:在C语言中允许给已有的数据类型定义一个新的名字。定义形式: typedef 数据类型 新类型名; 例:typedef int INTEGER; typedef float REAL; INTEGER a,b; 等价于  int a,b ; REAL x; float x; 第9章 构造数据类型 ? 已了解的数据类型: 整型 浮点型 字符型 数组 简单数据类型 用户定义的数据类型 特点:所有的元素都是同一种类型 存在的问题:难以处理较复杂的数据 如:建立一份学生档案,对每一个学生至少需要以下一些信息 学号(unsigned num) 姓名(char name[20]) 性别(char sex) 年龄(int age) 成绩(float score)

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档