最新c语言程序设计第10章课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020/10/19
9.1 结构体
3
9.1.1 结构体与结构体类型的定义 结构体类型定义的一般形式:
struct 结构体名 { 数据类型1 成员名1;
数据类型2 成员名2; ……
数据类型n 成员名n; };
struct为关键字;
结构体名是用户定义 的类型标识。
{ }中是组成该结构体 的成员。成员的数据 类型可以是C语言所允 许的任何数据类型。
ch赋ar值n、am存e取[3或0]运; 算。
year 2个字节
成对地cscthh员 位结raaurr也相构ctsaed可当中dxda;以于的rte[6是成 普b0i]r结员通;th构,变da可变量y;量以。/*单。b成i独rt员h使d为a用y结,md构a它oy体n的th类作22型用个个字字与*/节节
成in员t s名co可re[与6]程; 序中的变量ad名dr相同时,也可6与0个不字节
}同; 结构体类型的成员名相sc同or,e 二者代表不1同2个的字节
对象。
2020/10/19
9.1 结构体
9.1.2 结构体变量的定义与初始化
1. 结构体类型变量的定义
在定义结构体类型的同时定义变量 struct 结构体名
【例9.5】结构体数组的初始化。 struct s { char num[8],name[20],sex; float score; }stu[3]={{"9606011","Li ming",'M',87.5}, {"9606012","Zhang jiangguo",'M',79}, {"9606013","Wang ping",'F',90}};
};
2020/10/19
9.1 结构体
5
9.1.2 结构体变量的定义与初始化
1. 结构体类型变量的定义
struct student
利用已定义的结构体类型名定义nu变m量 8个字节
struct 结构体名 变量名表; 例如:
struct bookcard book1[100]; struct student s[30], t1, t2;
2020/10/19
Βιβλιοθήκη Baidu
9.1 结构体
4
9.1.1 结构体与结构体类型的定义
例如图书类型的定义:
s例tru如ct学bo生ok类ca型rd的定义:
struct student {{ cchhaarr nnuumm[[180];];
//**图学书号分是类字编符号数是组字类符型数*组/ 类型*/
cchhaarrnnaammee[3[300];]; //**书姓名名是是字字符符数数组组类类型型*/*/
{ 成员定义表; }变量名表; 例如:
struct student { char num[8],name[20],sex;
int age; float score; }st[30];
7
2020/10/19
9.1 结构体
9.1.2 结构体变量的定义与初始化
1. 结构体类型变量的定义
直接定义结构体类型变量 struct
{ 成员定义表; }变量名表; 例如:
struct { char num[8],name[20],sex;
int age; float score; }st[30], a, b, c;
8
2020/10/19
9.1 结构体
9
9.1.2 结构体变量的定义与初始化
2. 结构体变量的初始化
【例9.4】结构体变量的初始化。
float score;
}a={"9606011","Li ming",'M',{1977,12,9},83},
b={"9608025","Zhang liming",'F',{1978,5,10},87},c;
2020/10/19
9.1 结构体
10
9.1.2 结构体变量的定义与初始化
2. 结构体变量的初始化
元素的个数可以省略,根据赋初值时 结构体常量的个数确定数组元素的个数
2020/10/19
9.1 结构体
11
9.1.2 结构体变量的定义与初始化
3. 结构体变量的运算
用sizeof运算符计算结构体变量所占内存空间
struct date { int year, month, day;}; struct student { char num[8], name[20], sex;
6
结构体类型与变量的说明
st类ru型ct与da变te量是不同的概念。
{ i➢nt应y先ea定r,m义o一n个th结,d构ay体;}类; 型n,u而m后再定义结构体8个变字量节。
str➢u系ct统st对ud类e型nt不分配空间,n仅am对e变量分配空间。30个字节
{ c➢h只ar能n对um变[量8]赋; 值、存取或s运ex算,而不能对一个1个类字型节
c语言程序设计第10章课件
9.1 结构体
2
9.1.1 结构体与结构体类型的定义
信息管理
一个学生的信息有学号、姓名、性别、年龄、住 址、成绩等。
一本图书的信息有分类编号、书名、作者、出版社、 出版日期、价格、库存量等。
如何描述这些类型不同的相关数据?
结构体——一种构造类型数据 结构体由若干不同类型的数据项组成, 构成结构体的各个数据项称为结构体成员。
chaarrasuetxh;or[30]; /*/*作性者别是是字字符符数型组类*/型*/
cinhtaragpeu;blisher[60]/;* /年*出龄版是社整是型字*符/ 数组类型*/
fclhoaart pardicder;[60]; int score[6]; }i;nt n;
/* /*
成住//**价绩址库格是是存是整字量单型符是精数数整度组组型实类类*/型型型***///
struct date
如果初值个数少于结构体成员个数,
{ int year, month则, 将da无y;初};值对应的成员赋以0值。
struct student
如果初值个数多于结构体成员个数,
则编译出错。
{ char num[8], name[20], sex;
struct date birthday;
name sex age addr score
30个字节 1个字节 2个字节 60个字节 12个字节
按照结构体类型的组成,系统为定义的结构体
变量分配内存单元。结构体变量的各个成员在内存
中占用连续存储区域,结构体变量所占内存大小为
结构体中每个成员所占用内存的长度之和。
2020/10/19
9.1 结构体
相关文档
最新文档