c语言第7章:构造数据类型

c语言第7章:构造数据类型

ID:40428108

大小:404.01 KB

页数:27页

时间:2019-08-02

c语言第7章:构造数据类型_第1页
c语言第7章:构造数据类型_第2页
c语言第7章:构造数据类型_第3页
c语言第7章:构造数据类型_第4页
c语言第7章:构造数据类型_第5页
资源描述:

《c语言第7章:构造数据类型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章结构体结构体类型的定义结构体是一种构造数据类型,它由若干成员组成。每一个成员既可以是一个基本数据类型也可以是一个构造数据类型struct结构体名{类型1成员1;类型2成员2;......类型n成员n;};结构体类型的定义structstudent{charcNum;charcName[20];intnAge;charcSex;};结构体关键字结构体名分号是结束标志,不能省略结构体的4个成员结构体嵌套定义structdate{intnYear;intnMonth;intnDay;};structstude

2、nt{charcNum;charcName[20];structdatedBirthday;};structstudent{charcNum;charcName[20];structdate{intnYear,nMonth,nDay;}dBirthday;};等价7.1.2结构体变量(1)结构体变量的定义①先定义结构体类型,再声明结构体变量。其一般形式为:struct结构体名结构体变量名;如,structstudent{charcNum;charcName[20];intnAge;charcSex;};str

3、uctstudentsStu;struct结构体名结构体变量名;②定义结构体类型的同时定义结构体变量。其一般形式为:如,structstudent{charcNum;charcName[20];intnAge;charcSex;}sStu;struct结构体名{成员列表}变量列表;③直接定义无结构名的结构体类型变量如,struct{charcNum;charcName[20];intnAge;charcSex;}sStu;struct{成员列表}变量列表;(2)结构体变量的初始化以上三种方式声明结构体变量的同

4、时都可以进行初始化。初始化方式为:将所赋初值按顺序放在一对大括号内,下面以第一种定义结构体变量的方式为例来说明初始化问题。如,structstudent{charcNum;charcName[20];intnAge;charcSex;};structstudentsStu={'0804101',"Zhanghua",20,'M'};注意:(1)如下初始化形式是非法的。structstudentsStu;sStu={0501,"Zhaolin",20,’M’};(2)所赋初值与各成员数据类型要匹配或兼容。(3)

5、结构体变量成员的引用结构体变量成员的引用形式如下:结构体变量名.成员名实心点“.”称为成员运算符。例如:sStu.cNumsStu.cName例7-1定义并初始化学生结构体变量,然后输出变量的各成员值。#includestructstudent{char*pcNum;char*pcName;charcSex;structdate{intnYear,nMonth,nDay;}dBirth;floatfScore;}sStu1={"0804101","Mr.Zhang",'M',1979,9,1

6、,80},sStu2;voidmain(){sStu2=sStu1;/*同类型的结构体变量之间进行赋值运算*/printf("Number=%s",sStu2.pcNum);printf("Name=%s",sStu2.pcName);printf("Born=%d年",sStu2.dBirth.nYear);printf("%d月",sStu2.dBirth.nMonth);printf("%d日",sStu2.dBirth.nDay);printf("Sex=%c",sStu2.cSex)

7、;printf("Score=%.1f",sStu2.fScore);}7.1.3结构体数组在实际应用中,经常用结构体数组来表示具有相同数据结构的一个群体。如,structstudent{char*pcNum;char*pcName;charcSex;structdate{intnYear,nMonth,nDay;}dBirth;floatfScore;};结构体数组sStu,共有5个元素:sStu[0]—sStu[4]。在声明的时候还完成了对数组的初始化工作。structstudentsStu[5]={

8、{"0804101","Mr.Zhang",'M',1979,9,1,80},{"0804102","Mr.Wang",'W',1980,8,1,70},{"0804103","Mr.Li",'M',1978,7,1,55},{"0804104","Mr.Zhao",'W',1977,6,1,65},{"0804105","Mr.Zhou",'M',1981,5,1,45}};例7-2计算5名学生的

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

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

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