C语言程序设计 作者 蒋清明 C语言程序设计__第7章.pptVIP

C语言程序设计 作者 蒋清明 C语言程序设计__第7章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.4 位域 7.4.2  位域   2.位域的使用 位域的使用和结构成员的使用相同,其一般形式为: 位域变量名.位域名 位域允许用各种格式输出。 7.5 自定义类型 7.5.1 自定义类型( typedef)   除了可以直接使用C提供的标准类型名(如int、char、float、double、long等)和前面介绍的结构类型、共用类型、指针、枚举类型外,C语言允许由用户自己定义类型说明符,也就是说允许用户为数据类型取“别名”。这一功能要求用类型定义符typedef来完成。         返回目录 7.5 自定义类型 7.5.1 自定义类型( typedef)   例如,整型变量说明符int取自单词integer的前三个字母,为了增加程序的可读性,可把整型说明符用typedef定义为: typedef int INTEGER; 以后就可用INTEGER来代替int作整型变量的类型说明。 同样地,也可以用语句: typedef float REAL; 来使REAL代替float作为实型变量的类型说明。经过用typedef说明后,语句 INTEGER a,b;就等效于语句int a,b; 而语句 REAL x,y等效于语句float x,y;。 7.5 自定义类型 7.5.1 自定义类型( typedef)   typedef定义的一般形式为: typedef 原类型名 新类型名; 其中原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。具体说来,定义一个新的类型名的方法是: (1) 先按定义变量的方法写出定义体(如int i;); (2) 将变量名换成新类型名(如将i换成COUNT); (3) 在最前面加typedef(如typedef int COUNT); (4) 然后可以用新类型定义变量(如COUNT X)。 7.5 自定义类型 7.5.1 自定义类型( typedef)   另外,用typedef定义数组、指针、结构等类型将带来很大的方便,不仅使程序书写简单,而且使意义更为明确,因而增强了可读性。 例如: typedef int NUM[100]; /*定义NUM为整型数组,该数组元素有100个*/ NUM a, b, c;     /*定义了三个数组元素达100的整型数组*/ typedef char *STRING; /*定义STRING为字符指针类型*/ STRING p,s[10];    /*p为字符指针变量,s为指针数组 */ typedef int (*POINTER)( )/*定义POINTER为指向函数的指针类型,函数返回整型值*/ POINTER p1,p2;   /* p1和p2为指向函数的指针变量 */ 7.5 自定义类型 7.5.1 自定义类型( typedef)   又例如语句: typedef struct { int month; int day; int year; }DATE; 定义了一个新类型名DATE,它代表所定义的一个结构类型。这时就可以用DATE定义变量: DATE birthday;    /*birthday是结构变量,注意不要写成struct DATE birthday;*/ DATE *p;       /*p为指向此结构类型数据的指针*/ 7.1 结构类型 7.1.5  用指针处理链表   利用在结构变量中所包含的指针类型成员,用它来指向其它结构类型数据,或指向与自身所在结构类型相同的结构类型数据,以这种方法来定义一个链表。例如: struct stu { int num; char name[20]; float score; struct stu *next; }; 1.链表概述 7.1 结构类型 7.1.5  用指针处理链表   其中next是指针类型的成员名,它指向struct stu类型数据(即next所在的结构类型数据)。构成的链表结构如图7.8所示。该链表中每一个结点都属于struct stu类型,其成员next存放下一结点的地址。 1.链表概述 7.1 结构类型 7.1.5  用指针处理链表   2.建立与输出链表 在定义结构类型时,系统并未实际分配存储空间。为能让链表在需要时动态地开辟和释放一个结点的存储单元,C语言编译系统的库函数提供以下相关库函数: void *malloc(unsigned size) 在内存的动态存储区中分配一长度为size的连续空间。分配空间成功则返回值是一个空类型指针,指向该分配域的起始地址。否则返回值为NULL。 void *calloc(unsigned n, unsigned size) 在内

文档评论(0)

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

1亿VIP精品文档

相关文档