- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 结构与共同体;第一节:结构体;问题引入;结构体定义形式:
struct 结构体类型名
{
数据类型 成员1;
数据类型 成员2;
……
数据类型 成员n;
};;定义结构体类型后,仅仅是定义了该结构体的构成情况,系统并不为其分配实际的存储单元,为了使用它,必须定义结构体变量。
已定义的结构体变量所分配的存储空间的大小等于结构体中各成员所占存储空间的总和。
定义结构体变量3种形式:
1.先定义结构体类型,再定义结构体变量
2.在定义结构体类型的同时,定义结构体变量
3.直接定义结构体变量;1.先定义结构体类型,再定义结构体变量
例如:
struct student
{
char num[10]; //学号
char name[10]; //姓名
char sex; //性别
float score; //成绩
};
struct student stu1,stu2; student stu1,stu2;
;2.在定义结构体类型的同时,定义结构体变量
例如:
struct student
{
char num[10]; //学号
char name[10]; //姓名
char sex; //性别
float score; //成绩
} stu1,stu2;
;3.直接定义结构体变量
例如:
struct
{ char num[10]; //学号
char name[10]; //姓名
char sex; //性别
float score; //成绩
} stu1,stu2;
注意:由于省略了结构体类型名,因此以后不能再用这种结构体类型定义其他结构体变量。;结构体变量的初始化
语法格式:
[struct] 结构体类型 结构体变量名={初值1,初值2, …};
说明:
初值的个数、顺序和数据类型均应与定义结构体时成员的个数、顺序和数据类型保持一致。
例如:
struct student stu1={B155A101,zhang fan,m,92};;结构体变量是作为一个整体被定义的,但一般不能作为一个整体进行访问,只能通过结构体变量的成员来访问它。
引用结构体变量的语法格式:
结构体变量.成员名
说明:符号“.”是成员运算符,用于访问一个结构体变量中的某个成员。
对结构体中的成员可以像一般变量一样进行各种运算。
例如:struct student stu1; stu1.sex=m;
若结构体成员本身又是一个结构体类型,则要通过若干个成员运算符“.”,访问到最??一级的成员。;【例1】定义结构体类型employee,包括工号、姓名、工资3个成员,定义两个该类型的变量,并对其中一个员工信息进行初始化,输入另一个员工的信息,最后输出这两个员工的信息。
#includeiostream
using namespace std;
struct employee
{ char num[10];
char name[10];
double salary;
};
struct employee emp1={1001,李明,2800},emp2;
int main()
{
cinemp2.numemp2.nameemp2.salary;
coutemp1.num\temp1.name\temp1.salaryendl;
coutemp2.num\temp2.name\temp2.salaryendl;
return 0;
};第二节:结构体数组; 结构体数组:数组中的每个元素都是一个结构体变量,每个数组元素都有自己的成员。
1.结构体数组的定义
与定义结构体变量一样,可采用直接定义、间接定义和无名定义三种方式。
与基本数据类型的数组一样,结构体数组名代表结构体数组中第一个元素在内存中的首地址,数组各元素在内存中按规则连续存放。
结构体数组每个元素代表一个结构体变量,引用结构体数组元素中的某一成员时,同样使用成员运算符“.”进行操作。;1.结构体数组的定义
三种形式:;1.结构体数组的定义
三种形式:;1.结构体数组的定义
三种形式:;2. 结构体数组初始化;2. 结构体数组初始化;2. 结构体数组初始化;2. 结构体数组初始化;例 统计候选
您可能关注的文档
- C++程序设计案例教程- 课件 第0 章 C++程序设计说课.pptx
- C++程序设计案例教程-课件 第1章:C++入门.pptx
- C++程序设计案例教程-课件 第2章 基本数据类型、运算符与表达式.pptx
- C++程序设计案例教程-课件 第3章 程序控制结构.pptx
- C++程序设计案例教程-课件 第4章 数组.pptx
- C++程序设计案例教程-课件 第5章 函数.pptx
- C++程序设计案例教程-课件 第6章 指针与引用.pptx
- C++程序设计案例教程-课件 第8章 类与对象.pptx
- C++程序设计案例教程-课件 第9章 静态与友元.pptx
- C++程序设计案例教程-课件 第10章 继承与多态.pptx
文档评论(0)