c语言基础-结构体和联合体

c语言基础-结构体和联合体

ID:4121663

大小:102.85 KB

页数:7页

时间:2017-11-29

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

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

1、C语言基础-结构体和联合体在C中,结构也是一种数据类型,可以使用结构变量,因此,象其它类型的变量一样,在使用结构变量时要先对其定义。定义结构变量的一般格式为:struct结构名{类型变量名;类型变量名;...}结构变量;结构名是结构的标识符不是变量名。类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和无值型)。构成结构的每一个类型变量称为结构成员,它象数组的元素一样,但数组中元素是以下标来访问的,而结构是按变量名字来访问成员的。下面举一个例子来说明怎样定义结构变量。structstring{charname[8];intage;charsex[2];chardepart[20]

2、;floatwage1,wage2,wage3,wage4,wage5;}person;这个例子定义了一个结构名为string的结构变量person,如果省略变量名person,则变成对结构的说明。用已说明的结构名也可定义结构变量。这样定义时上例变成:structstring{charname[8];intage;charsex[2];chardepart[20];floatwage1,wage2,wage3,wage4,wage5;};structstringperson;如果需要定义多个具有相同形式的结构变量时用这种方法比较方便,它先作结构说明,再用结构名来定义变量。例如:structst

3、ringTianyr,Liuqi,...;如果省略结构名,则称之为无名结构,这种情况常常出现在函数内部,用这种结构时前面的例子变成:struct{charname[8];intage;charsex[2];chardepart[20];floatwage1,wage2,wage3,wage4,wage5;}Tianyr,Liuqi;结构是一个新的数据类型,因此结构变量也可以象其它类型的变量一样赋值、运算,不同的是结构变量以成员作为基本变量。结构成员的表示方式为:结构变量.成员名如果将"结构变量.成员名"看成一个整体,则这个整体的数据类型与结构中该成员的数据类型相同,这样就可象前面所讲的变量那样

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

5、ile(c=='Y'

6、

7、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);printf("Wage1:");scanf("%f",&a.wage1);/*输入工资*/printf("Wage2:");scanf("%f",&a.wage2);printf("Wage3:");scanf("%f

8、",&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("Thesumofwageis%6.2f",wage);/*显示结果*/fprintf(fp,"%10s%4d%4s%30s%10.2f",/*结果写入文件*/a.

9、name,a.age,a.sex,a.depart,wage);while(1){printf("Continue?");c=getche();if(c=='Y'

10、

11、c=='y'

12、

13、c=='N'

14、

15、c=='n')break;}}fclose(fp);}结构是一种新的数据类型,同样可以有结构数组和结构指针。一、结构数组结构数组就是具有相同结构类型的变量集合。假如要定义一个班级40个同学的姓

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

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

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