C++程序设计 教学课件 作者 姚琳 C++程序设计第7章.pptVIP

C++程序设计 教学课件 作者 姚琳 C++程序设计第7章.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京科技大学 C++程序设计 第7章 其它自定义数据类型 C++语言不仅有丰富的基本数据类型,而且允许用户自己定义数据类型。 第7章 C++其他自定义数据类型 7.1 结构型数据类型 7.2 枚举型数据类型 7.3 共用型数据类型 7.1 结构体类型 主要内容 结构类型的声明 结构变量的定义 结构成员的访问 结构指针、结构数组 结构类型数据作为函数的参数及返回值 7.1 结构体类型 结构型数据类型(简称结构类型) 把现实生活中意义密切相关的一组数据组合成一个整体,即由各种数据类型(可以是基本数据类型或已声明的自定义数据类型)的数据组成一个集合,称为结构类型。 例如: 学生(学号,姓名,年龄,成绩) 结构类型的定义 结构的声明形式如下: struct 结构类型名 {数据类型1 成员名1; 数据类型2 成员名2; ┇ 数据类型n 成员名n; }; 结构类型的定义 例如: struct student { int num; //学号 char name[20]; //姓名 char sex; //性别 int age; //年龄 float score; //成绩 char addr[30]; //住址 }; //注意,必须以分号结束结构的定义 结构类型的定义 以上定义了一种新的数据类型student,它的地位等价与int、float 声明结构类型的位置一般在文件的开头,在所有函数(包括main函数)之前,以便本文件中所有的函数都能利用它来定义变量。当然也可以在函数中声明结构体类型。 结构变量的定义 定义student类型的变量: student s1; 或者: struct student { int num; //学号 char name[20]; //姓名 char sex; //性别 int age; //年龄 float score; //成绩 char addr[30]; //住址 }s1; 结构变量的定义 结构类型的变量所占的存储空间是结构中所有成员所占空间的总和(考虑存储时的对齐方式) 对于Visual C++ 6.0平台来说,默认为字长对齐原则,结构变量所占存储空间应为字长的整数倍 Visual C++ 6.0平台的默认字长为4个字节,因此,sizeof(s1)的结果应该为68,即结构变量stu1所占存储空间为68个字节 结构变量的初始化 和其它类型变量一样,对结构变量可以在定义 时同时设置初始值: student s1={1001,”wang”,’M’,19,90.5,”Beijing”}; 或者: struct student { int num; //学号 char name[20]; //姓名 char sex; //性别 int age; //年龄 float score; //成绩 char addr[30]; //住址 }s1={1001,”wang”,’M’,19,90.5,”Beijing”}; 结构成员的访问 可以引用一个结构体变量中的一个成员的值 引用结构体变量中成员的格式为: 结构变量名.成员名 例如,可以这样对变量的成员赋值: stu1.num=1001; 可以这样输出显示变量的成员的值: coutstu1.name; 其中“.”是成员运算符,它是双目运算符,左边的操作数是结构变量名,右边的操作数是结构的成员名。它在所有的运算符中优先级最高,所以可以把stu1.num作为一个整体来看 结构的赋值运算 属于同一结构类型的各个变量之间可以相互赋值,这一点和数组不同,C++规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值。 student s1,s2=Li Li,F,18}; s1=s2; 不同结构的变量不允许相互赋值,即使这两个变量可能具有同样的成员。 例7-1 结构类型的声明,变量的定义和初始化 #includeiostream using namespace std; struct student { long num; char name[20]; char sex; int age; }stu=Li Li,F,18}; void main( ) { coutstu.numendl; coutstu.nameendl; coutstu.ageendl; } 例7-2访问带有结构体类型的结构体成员 #includeiost

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档