第6章 结体.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 计算机基础知识 第6章 结构体 本章导读 使用结构体变量,不同于使用数组。数组可以直接定义,结构体变量必须在定义了结构体类型的基础上才能定义。 例:定义结构体类型fp。 struct date //定义日期结构体类型 { int year,month,day;}; struct fp { char khmc[40]; //客户名称 date kprq; //开票日期 int pzs; //商品品种数 float zje; //发票总金额 char kpr[20]; //开票人 }; 结构体类型变量的定义及其初始化 定义结构体变量有三种方式: 1、先定义结构体类型,后定义结构体变量。这是使用最多的方式; 2、在定义结构体类型的同时定义结构体变量。这种方式也常使用; 3、定义结构体类型时省略类型名,直接定义结构体变量。这种方式只能一次性的定义变量,使用得较少。 struct stu { int num; char name[20]; char sex; }; stu s1,s2; 例:结构体类型的嵌套定义 struct fp { char khmc[40]; //客户名称 struct date //嵌套定义的结构体类型 { int year,month,day;} kprq; //开票日期 int pzs; //商品品种数 float zje; //发票总金额 }fp1,fp2; //定义了两张发票 例:结构体变量的初始化 struct stu { int num; char *name; char sex; }; stu s1={101,”马犇”,’W’}, s2={102,”杨森”,’M’}; 在定义结构体类型时,有以下注意事项: 1.在结构体类型的定义中,不可以限定其成员的存储类型为auto、extern和register。这些存储类型是对变量分配内存单元时的限定,在定义结构体类型时,这些成员还不是变量,系统不为其分配内存单元。 2.系统只为结构体变量分配内存单元,不为结构体类型(包括其成员)分配内存单元。 struct stu { int num; char name[20]; char sex; }; stu s1,s2; 4、结构体变量的引用主要是输入/输出、赋值。多数情况下只能引用结构体变量的成员,而不能直接引用结构体变量。结构体变量成员的使用与一般变量的使用相同。使用的格式为: 结构体变量名.成员名 其中的“.”称为成员选择运算符,是双目运算符,左操作数是结构体变量名,右操作数是这个结构体的成员名。 例:引用结构体变量成员。 struct book { long shuh; //书号 char shum[50]; //书名 char zuoz[20]; //作者 }b1,b2; b1.shuh=100001; //为书号赋值 strcpy(b1.shum,”从0到无穷大”); //为书名赋值 cin.getline(b1.zuoz,20); //输入作者 b2={100001,” 从0到无穷大”,”盖莫夫”}; //结构体变量不能整体赋值 例:嵌套结构体变量成员的引用。 struct date{int year,month,day;};//定义日期结构 struct student //定义学生结构 { long num; //学号 char name[20]; //姓名 date birthday; //生日 }s1; s1.num=210001; s1.birthday.year=1990; s1.birthday.month=10; s1.birthday.day=1; 如果数组中的每个元素都是一个结构体类型的数据,则称为结构体数组(或简称为结构数组)。数组的各元素在内存中仍然连续存放。 结构体数组不能整体引用,只能按引用结构体变量那样引用结构体数组的元素。 例:定义结构体数组并初始化。 struct stu { long num; float score[4]; //四门课成绩 }; stu s[30]={{101,80,85,70,90},{102,85,90}}; 例:调用函数输入结构体数组,计算平均成绩并输出学生资料。 struct student //结构体类型定义 { long num; char name[20]; //可能是由几个单词组成 flo

文档评论(0)

dd545454 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档