C语言程序设计课件第8章节.pptVIP

  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文档。上传文档
查看更多
C语言程序设计课件第8章节

本章的主要内容包括: ?C语言的类型定义 ?结构 ?联合 ?位运算和位段;写程序时自己定义的数据类型称作“用户定义类型”。 形式: typedef 类型名 标识符; typedef的作用仅仅是用新类型名来代表已存在的类型名,并未产生新的数据类型。原有的类型名依然有效。 新的类型名可以和C语言中原有的各种基本类名一样,方便地用于定义变量、定义函数的返回值、定义其它构造类型的元素或成员。 例8.1:typedef int INTEGER; 给int类型一个新的名字INTEGER,此后,可以用INTEGER来定义整型变量。如:INTEGER i,j,a[10]; 例8.2:typedef char * CHARP; 新类型名CHARP是字符指针类型,表示的旧类型是char *。 CHARP p; 等价于: char *p; 例8.3:typedef double VECT[4]; 定义一种具有4个元素的双精度数组类型VECT;程序中 VECT v1,v2;定义两个4个元素的双精度数组。;定义新类型的步骤: (1) 首先按通常定义变量的方法写出定义的主体;如: double *f; (2) 将变量名换成新类型名; double *PDOUBLE; (3) 在最前面加上关键字typedef; typedef double *PDOUBLE; (4) 可以用新类型定义变量了; PDOUBLE f1,f2; 讨论自定义数据类型的作用;结构可以将若干个不同类型的数据组合成一个复合数据对象。组成结构的数据项称结构的成分或成员。 结构类型成员的数量必须固定,但该结构中各个成员的类型可以不同。 8.2.1 结构类型说明、结构变量定义 8.2.1.1 结构类型说明 struct 结构名 {成员说明序列}; 结构名是结构类型说明的标志,如果所定义的结构类型,在程序中很少使用,可以省略结构名,在说明类型的同时定义结构变量;如果所定义的结构类型,在程序中要多次使用,应该使用结构名说明结构类型,以后在程序需要该结构类型的地方,用“struct 结构名”的形式代表整个说明。相当于一个类型名。 ;例日期可以用包含三个成员的结构来描述: struct date { int year, month, day; }; 学生信息的结构类型可说明如下: struct student { char name[15]; char sex; struct date birthday; float score[4]; }; 其中struct date是一个已说明过的结构类型名。 ;8.2.1.2结构变量定义 结构变量定义有4种方法: (1) 直接定义结构类型变量,将一个结构说明当成类型描述,在它后面列出变量标识符。这种表示方法没有结构名,定义形式如下: struct {成员说明序列} 结构变量表; 例:struct { char name[10]; int age; int class; } stu1,stu2[5],*stu3; ;8.2.1.2结构变量定义 结构变量定义有4种方法: (2) 声明类型同时,定义结构变量 struct 结构名 {成员说明序列} 结构变量表; 例:struct point { double x, y, z; } p1,p2,*p3; 说明结构类型point, 并定义三个变量。 ;8.2.1.2结构变量定义 结构变量定义有4种方法: (3) 使用已声明的结构类型,定义结构变量 struct 结构类型名 结构变量表; 例:使用上面的例子中说明的struct point。 struct point p1,p2[5],*p3; (4) 定义结构类型,再定义结构变量 typedef struct {成员说明序列} 结构类型名; 结构类型名 结构变量表; ;8.2.1.3结构的实现 C语言为结构对象分配足够大的存储空间,顺序地放入各个成员,但具体的存储位置,由一组对齐规则来调整,结构里的成员未必一个紧接着一个存放,它们之间可能有空位。 结构类型和结构变量的空间计算:sizeof 讨论结构存储中使用对齐原则的原因;8.2.2 结构变量的初始化和使用 8.2.2.1 结构变量的初始化 可以在定义的同时初始化,使用{}将变量的成员的初始化值组合起来 。 如 struct point { double x,y; } p1={1.5,4,6},p[3]={{1.5,2.5

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档