结构体共用体和用户定义的数据类型

结构体共用体和用户定义的数据类型

ID:39355000

大小:632.31 KB

页数:38页

时间:2019-07-01

结构体共用体和用户定义的数据类型_第1页
结构体共用体和用户定义的数据类型_第2页
结构体共用体和用户定义的数据类型_第3页
结构体共用体和用户定义的数据类型_第4页
结构体共用体和用户定义的数据类型_第5页
资源描述:

《结构体共用体和用户定义的数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、全国计算机等级考试二级教程——C语言程序设计计算中心-NEUComputingCenter敖志广azg@cc.neu.edu.cn1typedef说明一种新的类型名typedefintINTEGER;INTEGERm,n;intm,n;typedefchar*CHAR;CHARp;char*p;2定义在实际问题中我们常需要把不同类型的几个数据组合起来,构成一个整体。如一个公司职员的个人信息,或学校中教师和学生的信息。以学生信息为例,它可能包括学生的学号、班级、姓名、性别、年龄、成绩等。这时原有的那些数

2、据类型就显的有点无能为力了,所以引入一种新的数据类型----结构体。结构体是由一些逻辑相关,但数据类型不同的分量组成的一组数据。注意:用户需要先定义结构体类型,之后才能定义结构体变量注意不要忘了分号成员列表结构体类型定义形式:struct结构体类型名{数据类型成员名1;数据类型成员名2;::数据类型成员名n;};关键字用户定义的标识符一、定义结构体变量1.先定义结构体类型,再定义变量structstudent{charname[10];intage;floats1,s2;};structstudent

3、st1,st2;st1st2nameages1s2nameages1s2结构体变量st1和st2各自都需要20个字节的存储空间2.定义结构体类型同时定义变量structstudent{charname[10];intage;floats1,s2;}st1,st2;3.直接定义结构体变量struct{charname[10];intage;floats1,s2;}st1,st2;4.说明:(1)结构体变量具有结构体类型的一切特征在内存中结构体变量占有一片连续的存储单元存储单元的字节数可用sizeof运算

4、符算出printf(“%d”,sizeof(structstudent));printf(“%d”,sizeof(st1));(2)结构体类型可以嵌套定义例:structdate{intyear;intmonth;intday;};structstud{charname[10];structdatebirthday;floats1,s2;};或:structstud{charname[10];structdate{intyear;intmonth;intday;}birthday;floats

5、1,s2;};3结构体变量的初始化structstudent{charname[10];intage;floatscore1,score2;}st1={“Mary”,21,78,86};structstud{charname[10];structdatebirthday;floatscore1,score2;};structstudst2={“John”,1980,11,23,89,95};structstudent{charname[10];intage;floatscore1,score2;};s

6、tructstudentst3;st3={“Mary”,21,78,86};这是初始化,正确错误,C不允许这样赋值4结构体变量的引用1.引用结构体变量中的成员格式:结构体变量名.成员名structstudent{charname[10];intage;floats1,s2;};注意:一般是对结构体变量的各个成员分别进行赋值st1={“Mary”,21,78,86};这样的赋值是不允许的structstudentst1;st1.name=“Mary”;st1.age=21;st1.s1=78;st1.s

7、2=86;4.使用结构体结构成员的引用结构作为若干成员的集合是一个整体可对结构整体进行操作可访问结构中的每个成员使用结构中成员的方法结构变量名.成员名称运算符“.”的含义是访问结构中的成员“.”操作的优先级最高结合性为从左到右指针变量名->成员名在结构体指针变量情况下使用运算符“->”structdate{intyear;intmonth;intday;};structstud{charname[10];intage;structdatebirthday;floats1,s2;};structstud

8、st2;intage,year;st2.name=“John”;st2.age=20;st2.birthday.year=1980;st2.birthday.month=11;st2.birthday.day=23;st2.s1=89;st2.s2=95;age=24;year=2000;可以定义与结构体变量成员名相同名字的变量它们之间不会发生混乱2.相同类型的结构体变量可以进行整体赋值structdate{intyear;intmonth;intday

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

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

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