c语言 结构体和联合体

c语言 结构体和联合体

ID:21124342

大小:467.73 KB

页数:23页

时间:2018-10-19

c语言 结构体和联合体_第1页
c语言 结构体和联合体_第2页
c语言 结构体和联合体_第3页
c语言 结构体和联合体_第4页
c语言 结构体和联合体_第5页
资源描述:

《c语言 结构体和联合体》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言基础结构体和联合体学习目标掌握结构体和联合体的基本使用掌握结构体和联合体的区别了解两者嵌套概述C中,结构也是一种数据类型,可以使用结构变量,因此,象其它类型的变量一样,在使用结构变量时要先对其定义。定义结构变量的一般格式为:struct结构名{类型变量名;类型变量名;...}结构变量;结构体类型变量结构名是结构的标识符不是变量名。类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和无值型)。构成结构的每一个类型变量称为结构成员,它象数组的元素一样,但数组中元素是以下标来访问的,而结

2、构是按变量名字来访问成员的。下面举一个例子来说明怎样定义结构变量:结构体示例numnamesexageaddr10968Peter.Jman26wuxistructstudent{intnum;charname[20];charsex;intage;charaddr[30];};结构体类型变量structstring{charname[8];intage;charsex[2];chardepart[20];floatwage1,wage2,wage3,wage4,wage5;}person;或stru

3、ctstring{charname[8];intage;charsex[2];chardepart[20];floatwage1,wage2,wage3,wage4,wage5;};structstringperson;结构体类型变量如果需要定义多个具有相同形式的结构变量时用这种方法比较方便,它先作结构说明,再用结构名来定义变量。例如:structstringTianyr,Liuqi,...;如果省略结构名,则称之为无名结构,这种情况常常出现在函数内部,用这种结构时前面的例子变成:struct{cha

4、rname[8];intage;charsex[2];chardepart[20];floatwage1,wage2,wage3,wage4,wage5;}Tianyr,Liuqi;结构体变量引用结构是一个新的数据类型,因此结构变量也可以象其它类型的变量一样赋值、运算,不同的是结构变量以成员作为基本变量。结构成员的表示方式为:结构变量.成员名如果将"结构变量.成员名"看成一个整体,则这个整体的数据类型与结构中该成员的数据类型相同,这样就可象前面所讲的变量那样使用。下面这个例子定义了一个结构变量,其中每

5、个成员都从键盘接收数据,然后对结构中的浮点数求和,并显示运算结果,同时将数据以文本方式存入一个名为wage.dat的磁盘文件中。请注意这个例子中不同结构成员的访问。#includemain(){struct{/*定义一个结构变量*/charname[8];intage;charsex[2];chardepart[20];floatwage1,wage2,wage3,wage4,wage5;}a;FILE*fp;floatwage;charc='Y';fp=fopen("wage.da

6、t","w");/*创建一个文件只写*/while(c=='Y'

7、

8、c=='y')/*判断是否继续循环*/{printf("Name:");scanf("%s",a.name);/*输入姓名*/printf("Age:");scanf("%d",&a.wage);/*输入年龄*/printf("Sex:");scanf("%d",a.sex);printf("Dept:");scanf("%s",a.depart);9printf("Wage1:");scanf("%f",&a.wage1);/*

9、输入工资*/printf("Wage2:");scanf("%f",&a.wage2);printf("Wage3:");scanf("%f",&a.wage3);printf("Wage4:");scanf("%f",&a.wage4);printf("Wage5:");scanf("%f",&a.wage5);wage=a.wage1+a.wage2+a.wage3+a.wage4+a.wage5;printf("Thesumofwageis6.2f",wage);/*显示结果*/fprint

10、f(fp,"%10s%4d%4s%30s%10.2f",/*结果写入文件*/a.name,a.age,a.sex,a.depart,wage);while(1){printf("Continue?");c=getchar();if(c=='Y'

11、

12、c=='y'

13、

14、c=='N'

15、

16、c=='n')break;}}fclose(fp);}结构数组结构数组就是具有相同结构类型的变量集合。假如要定义一个班级40个同学的姓名、性别、年龄和住址,可以定义

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

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

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