第09章--结构体与公用体

第09章--结构体与公用体

ID:43737573

大小:374.00 KB

页数:28页

时间:2019-10-13

第09章--结构体与公用体_第1页
第09章--结构体与公用体_第2页
第09章--结构体与公用体_第3页
第09章--结构体与公用体_第4页
第09章--结构体与公用体_第5页
资源描述:

《第09章--结构体与公用体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C程序设计——结构体讲授人:许莉email:xulibak@163.comtel:13889876920office:图书馆826结构体和公用体基本数据类型:整型实型字符型构造数据类型数组结构体公用体考虑这样一类数据:一个数据项由多个子数据项组成,而且每个子数据项的类型可能不一样。在学生信息管理中,每个同学的自然情况表可能包含:名字(字符串型)、年令(整型)、出生时间(三个整型)、性别(枚举)等等。再如,研究人造卫星,每个人造卫星的信息可能包括:名字(字符串型)、发射时间(三个整数)、重量(实型)、直径(实型)、轨道半径(实型)、与赤道夹角(实型)等等。使用结构体可以描述这一

2、类由不同类型子数据项组成的数据。名字:年龄:出生时间年月日性别:名字发射时间年月日重量直径轨道半径与赤道夹角按这个语法,不考虑位字段,“结构体类型定义”呈如下两种形式之一:其中:struct是保留字,引导一个结构体类型定义。每个t是一个类型说明符,可以是任意类型的任何形式的类型说明符。它说明后边诸标识符id的类型。每个id是一个成员声明符,具体声明结构体类型的一个分量,它最终涉及的标识符是该分量的名字;要求在整个结构体类型定义内,诸id中声明的各个分量的名字互不相同;每个id的类型是它前边的t标记的类型。sid是一个标识符,称结构体标签,起标记该结构体类型作用.结构体类型定义

3、形式A结构体类型定义形式Bstruct{tid,...,id;...tid,...,id;}structsid{tid,...,id;...tid,...,id;}一个人的自然情况表及卫星数据类型可以说明成:enumsext{male,female};structdate{intyear,month,day;}d;structpreson{charname[10];intage;enumsextsex;structdatebirthdate;}p;structmansatellite{charname[10];structdatelounchdate;floatweight,

4、diameter,orbitrad,angle;}m;定义结构体先声明结构体类型再定义变量structstudent{intnum;charname[20];intage;floatscore;charaddr[30]};structstudentstudent1,student2;定义结构体在声明类型的同时定义变量struct结构体名{成员表列;}变量名表列;例:structstudent{intnum;charname[20];intage;floatscore;charaddr[30]}student1,student2;直接定义结构体类型变量struct{成员表列;}

5、变量名表列;例:struct{intnum;charname[20];intage;floatscore;charaddr[30]}student1,student2;定义结构体注意:一定要把类型名与变量名区别开。一个类型可以有名字,它只是表示一种数据结构的一个框架,而不存在一个实体,不给它分配存储空间。只有变量才是一个实体,它具有一块存储空间,并且该块存储空间的结构是相应数据类型的。任何一个类型可以有多个变量,每个变量都具有一块存储空间。类型定义只定义一个标识符是某类型的名字,只定义了相应框架的一个同义语。即所定义的标识符具有相应类型表示的框架结构。但它没有一个实体,没有一

6、块存储空间,亦即没有具体表示一个变量。变量在变量声明中声明。结构体变量的引用不能将一个结构体变量作为一个整体进行输入和输出,必须对结构体变量中的各个成员分别操作。引用结构体变量中成员的方式:结构体变量名.成员名对于结构体的嵌套定义,用上述方法一级一级的找到最低的一级的成员,只能对最低级的成员进行操作,也就是不能对结构体整体进行操作。对结构体中的成员可以像普通变量一样进行各种运算可以获取结构体变量成员的地址,也可以获取结构体变量的地址。&student,&student.num结构体变量的初始化可以在定义时指定初始值main(){structstudent{longintnum

7、;charname[20];charsex;charaddr[20];}a={200230011,“LiLin”,‘M’,“123Beijing”};printf(“%d,%s,%c,%s”,a.num,a.name,a.sex,a.addr);}定义学生结构体,包括学号,姓名,性别,地址信息,输入一个学生信息并输出。结构体变量的初始化结构体不可以整体输入输出,但是对于相同类型的结构体变量来说可以进行整体进行赋值。structstu/*定义结构*/ {intnum; char*name; charsex

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

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

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