C语言程序设计课件第八章

C语言程序设计课件第八章

ID:45066611

大小:297.81 KB

页数:27页

时间:2019-11-09

C语言程序设计课件第八章_第1页
C语言程序设计课件第八章_第2页
C语言程序设计课件第八章_第3页
C语言程序设计课件第八章_第4页
C语言程序设计课件第八章_第5页
资源描述:

《C语言程序设计课件第八章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本章的主要内容包括:C语言的类型定义结构联合位运算和位段第八章结构及其它回首页写程序时自己定义的数据类型称作“用户定义类型”。形式:typedef类型名标识符;typedef的作用仅仅是用新类型名来代表已存在的类型名,并未产生新的数据类型。原有的类型名依然有效。新的类型名可以和C语言中原有的各种基本类名一样,方便地用于定义变量、定义函数的返回值、定义其它构造类型的元素或成员。例8.1:typedefintINTEGER;给int类型一个新的名字INTEGER,此后,可以用INTEGER来定义整型变量。如:INTEGERi,j,a[

2、10];例8.2:typedefcharCHARP;新类型名CHARP是字符指针类型,表示的旧类型是char。CHARPp;等价于:charp;例8.3:typedefdoubleVECT[4];定义一种具有4个元素的双精度数组类型VECT;程序中VECTv1,v2;定义两个4个元素的双精度数组。8.1类型定义定义新类型的步骤:(1)首先按通常定义变量的方法写出定义的主体;如:doublef;(2)将变量名换成新类型名;doublePDOUBLE;(3)在最前面加上关键字typedef;typedefdoublePDOUBLE;(4)可以

3、用新类型定义变量了;PDOUBLEf1,f2;讨论自定义数据类型的作用8.1类型定义结构可以将若干个不同类型的数据组合成一个复合数据对象。组成结构的数据项称结构的成分或成员。结构类型成员的数量必须固定,但该结构中各个成员的类型可以不同。8.2.1结构类型说明、结构变量定义8.2.1.1结构类型说明struct结构名{成员说明序列};结构名是结构类型说明的标志,如果所定义的结构类型,在程序中很少使用,可以省略结构名,在说明类型的同时定义结构变量;如果所定义的结构类型,在程序中要多次使用,应该使用结构名说明结构类型,以后在程序需要该结构类型的

4、地方,用“struct结构名”的形式代表整个说明。相当于一个类型名。8.2结构例日期可以用包含三个成员的结构来描述:structdate{intyear,month,day;};学生信息的结构类型可说明如下:structstudent{charname[15];charsex;structdatebirthday;floatscore[4];};其中structdate是一个已说明过的结构类型名。8.2结构8.2.1.2结构变量定义结构变量定义有4种方法:(1)直接定义结构类型变量,将一个结构说明当成类型描述,在它后面列出变量标识符。这种

5、表示方法没有结构名,定义形式如下:struct{成员说明序列}结构变量表;例:struct{charname[10];intage;intclass;}stu1,stu2[5],stu3;8.2结构8.2.1.2结构变量定义结构变量定义有4种方法:(2)声明类型同时,定义结构变量struct结构名{成员说明序列}结构变量表;例:structpoint{doublex,y,z;}p1,p2,p3;说明结构类型point,并定义三个变量。8.2结构8.2.1.2结构变量定义结构变量定义有4种方法:(3)使用已声明的结构类型,定义结构变量str

6、uct结构类型名结构变量表;例:使用上面的例子中说明的structpoint。structpointp1,p2[5],p3;(4)定义结构类型,再定义结构变量typedefstruct{成员说明序列}结构类型名;结构类型名结构变量表;8.2结构8.2.1.3结构的实现C语言为结构对象分配足够大的存储空间,顺序地放入各个成员,但具体的存储位置,由一组对齐规则来调整,结构里的成员未必一个紧接着一个存放,它们之间可能有空位。结构类型和结构变量的空间计算:sizeof讨论结构存储中使用对齐原则的原因8.2结构8.2.2结构变量的初始化和使用8.2

7、.2.1结构变量的初始化可以在定义的同时初始化,使用{}将变量的成员的初始化值组合起来。如structpoint{doublex,y;}p1={1.5,4,6},p[3]={{1.5,2.5},{3.4,2.4},{8.6,9.0}};初始化描述中的初始值将顺序提供给结构变量的各基本成员,初始化表达式只能是可静态求值的表达式。给出的初始化数据与结构成员类型一致,个数不得多于成员数量,如果提供的数据项不够,与数组的规定一样,其余成员自动用0初始化。如果定义时没有提供初始值,系统对结构变量的处理方式与其它变量一样。外部和全局变量,用0初始化,

8、自动变量不进行初始化,各成员的状态不确定。8.2结构8.2.2结构变量的初始化和使用8.2.2.2结构变量操作1.整体赋值:同样类型的结构变量,可整体进行相互赋值。2.结构成员引用成员运算符:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。