- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
构造数据类型 6.1 结构体类型 结构体是用户自定义的新数据类型,在结构体中可以包含若干个不同数据类型和不同意义的数据项,从而使这些数据项组合起来反映某一个信息。 用户自定义的数据类型可以与int、double等基本数据类型一样,用来作为定义其他变量的数据类型。 结构体类型的声明 struct 结构体名 { 数据类型 成员名1; 数据类型 成员名2; : 数据类型 成员名n; }; 在大括号中的内容也称为“成员表列”或“域表”。数据类型可以是基本类型、数组、指针、结构体等类型; 例:学生信息结构体 struct Student //学生信息结构体 { int num; //学号 char name[20]; //姓名 char sex; //性别 int age; //年龄 float score; //成绩 char addr[30]; //住址 }; //注意分号不要省略 结构体类型的特点 结构体类型的特点总结如下: 结构体类型是用户自行构造的。 它由若干不同的基本数据类型的数据构成。 它属于C++语言的一种数据类型,与整型、实型相当。因此,声明它时不分配空间。 结构体类型变量的定义 一、先定义结构体类型再定义变量名 这是C++语言中定义结构体类型变量最常见的方式,一般语法格式如下: 例: #include iostream.h void main() { struct Student //学生信息结构体 { int num; char name[20]; char sex; int age; }; Student student1;//定义 Student student2={10003,Cao Men, M,20};//初始化 coutsizeof(student1)endl; } struct 结构体名 { 成员表列; } 变量名表列; 结构体成员也可以是一个结构体变量 结构体变量的引用 可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。 student1= student2; 可以引用一个结构体变量中的一个成员的值。 格式:结构体变量名.成员名 student1.num=10010; 其中.是成员访问运算符,见p21。 不能将一个结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员分别进行输入和输出。 coutstudent1; //错误 coutstudent1.num; //正确 如果成员本身也是一个结构体类型,则要用若干个成员运算符,一级一级地找到最低一级的成员。 coutstudent1.birthday.month; 对结构体变量的成员可以像普通变量一样进行各种运算。 sum=student1.score+student2.score; 可以引用结构体变量成员的地址,也可以引用结构体变量的地址。 coutstudent1; coutstudent1.age; 结构体数组 结构体数组与以前介绍过的数值型数组的不同之处在于: 每个数组元素都是一个结构体类型的数据,它们都分别包括各个成员项。 1. 定义结构体数组 结构体数组应用举例 struct Person { char name[20]; int count; }; void main( ) { Person leader[3]={{Li,0}, {Zhang,0}, {Sun,0}}; 指向结构体变量的指针(结构体指针) 指向结构体变量的指针保存的是该结构体变量所占据的内存段的起始地址。 1.结构体指针变量的定义 student student1; student *s;//定义 s= student1; //赋值 student *t=student1;//初始化 2 用结构体指针变量访问结构体的成员 结构体指针访问成员的两种方法: (*结构体指针名).成员名。 如:(*s).num 结构体指针名-成员名。 如:s-num 访问成员的第三种方法: 结构体变量名.成员名。如:student1.num 例: #include iostream.h void main() { struct Student { int num; char name[20]; char s
您可能关注的文档
最近下载
- 电大中国建筑史(本)形考四.doc VIP
- 风力发电机组PLC系统.ppt VIP
- 小学语文整本阅读指导课《爱的教育》课件.pptx VIP
- GB14881-2025食品安全国家标准培训大纲.pptx VIP
- DLT5111-2024水电水利工程施工监理规范.pptx VIP
- 2021-2024年数学竞赛AIME I II真题含答案(共8套).pdf VIP
- (2024)乡村振兴产业园建设项目可行性研究报告写作模板(一).docx VIP
- 周围神经病诊疗和鉴别诊疗专家讲座.pptx VIP
- 周围神经病基础知识.ppt VIP
- 2023中考模拟作文写作:“合理谋划才能行稳致远”导写及范文.pdf VIP
文档评论(0)