C语言课件(王曙燕)chp8结构体与共用体

C语言课件(王曙燕)chp8结构体与共用体

ID:45068112

大小:408.50 KB

页数:32页

时间:2019-11-09

C语言课件(王曙燕)chp8结构体与共用体_第1页
C语言课件(王曙燕)chp8结构体与共用体_第2页
C语言课件(王曙燕)chp8结构体与共用体_第3页
C语言课件(王曙燕)chp8结构体与共用体_第4页
C语言课件(王曙燕)chp8结构体与共用体_第5页
资源描述:

《C语言课件(王曙燕)chp8结构体与共用体》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计第八章结构体和共用体C第八章结构体和共用体结构体类型和变量定义结构体数组结构体和函数共用体枚举类型Typedef语句C语言程序设计第八章结构体和共用体C§8.1结构体类型和变量定义简单类型是由系统预定义的如int、float、char等结构体类型是根据需要由程序员自行定义,因此在使用之前必须先定义结构体类型结构体类型定义格式:struct结构体类型标识符{结构体成员表;};struct结构体名{类型名成员名;类型名成员名;…………….};C语言程序设计第八章结构体和共用体C先定义结构体类型,再定义结构体变量一般形式:str

2、uct结构体名{类型名成员名;类型名成员名;…………….};struct结构体名变量名表列;特点:常用方法在该定义后的任意位置仍可用该结构体类型来定义其他变量适用于需要大量引用该结构体类型的情况可把通用的类型定义集中在一个单独的源文件中C语言程序设计第八章结构体和共用体C定义结构体类型的同时定义结构体变量一般形式:struct结构体名{类型名成员名;类型名成员名;…………….}变量名表列;特点:简略形式,类型定义和变量定义合在一起适用于该结构体类型引用不太多的情况C语言程序设计第八章结构体和共用体C直接定义结构体变量一般形式:struc

3、t{类型标识符成员名;类型标识符成员名;…………….}变量名表列;特点:适用于一次性定义该结构体类型变量的场合(因为没有定义结构体类型名,所以不能在别处用它来定义其他结构体变量)C语言程序设计第八章结构体和共用体C说明结构体类型与结构体变量概念不同类型:不分配内存;变量:分配内存类型:不能赋值、存取、运算;变量:可以结构体类型定义可嵌套例structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];structdatebirthday;}stu;numnam

4、ebirthdaymonthdayyearC语言程序设计第八章结构体和共用体C结构体变量的初始化对结构体中的各成员变量赋初值一般格式:结构体类型名结构体变量〖={初始化值列表}〗;例structstudent{intnum;charname[20];charsex;intage;charaddr[30];};structstudentstu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};说明初始化值列表中初始化数据之间用逗号分隔。初始化数据的个数一般与成员的个数相同,若小于成员数,则剩余的成员将被自动

5、初始化为0。初始化数据的类型要与相应成员变量的类型一致。初始化时只能对整个结构体变量进行,不能仅对结构体类型中的某些成员进行初始化赋值。C语言程序设计第八章结构体和共用体C结构体变量的引用对结构体变量成员的引用在C语言程序中,不允许对结构变量整体进行输入输出操作和除赋值外的各种运算,只能是对其成员进行此类操作。引用结构体变量成员的一般形式:结构体变量名.成员名说明:其中“.”是结构体成员运算符,其优先级别最高,结合性是自左至右。结构体成员扮演的角色和同类型的普通变量完全一样。所以,结构体成员还可进行该成员类型允许的各种运算操作struc

6、td_type{intyear;intmonth;intday;};structs_type{charnum[7];charname[21];charsex;structd_typebirthday;floatscore;charaddress[31];};C语言程序设计第八章结构体和共用体C对结构体变量整体的引用对结构变量整体只能做赋值类的操作可以相互赋值,但注意相互赋值的两个结构体变量必须是同一个结构体类型s2=s1;s2.birthday=s1.birthday;可作为函数的实参到形参的值传递、或函数返回值,详见下节。C语言程序设

7、计第八章结构体和共用体C§8.3结构体数组数组是由相同数据类型的元素组成的,当用相同类型的结构体作元素就可构成结构体数组。虽然每个元素的内部含不同类型的成员,但从整体上看,每个元素的类型是相同的。结构体数组的定义先定义后使用三种形式:structstudent{intnum;charname[20];charsex;intage;};structstudentstu[2];numnamesexagenumnamesexagestu[0]stu[1]25BC语言程序设计第八章结构体和共用体C结构体数组初始化格式:结构体类型名结构体数组名[

8、数组长度]〖={初始化值列表}〗;注意:一一对应如果初始值的个数小于对应元素的成员个数,则剩余成员将被初始化为默认值structstudent{intnum;charname[20];charsex;int

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

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

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