- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
结构体与共用体第一讲
内容
说明
主要
内容
重点
难点
问题
提出
1.结构体的概念及其基本操作
2.结构体变量的引用方法
3.结构体数组的使用
例子:
inta[5];
通过举例说明定义结构体类型的必要性。
和基本类型变量进行比较分析,进一步说明必须定义结构体类型。
强调
注意与以往变量应用的区别
1.对结构体类型的理解
2.结构体类型的使用
结构体变量的引用
前面已经介绍了基本数据类型──整型、浮点型、字符型,也介绍了一种构造类型──数组,数组中各元素是属于同一种类型的。
例如:一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,各项的数据类型并不相同(如下图)
numnamesexagescoreaddr
10010
LiFan
m
18
88
chengde
如果将num、name、sex、age、score、addr分别定义为互相独立的简单变量,难以反映它们之间的内在联系,如何解决此类问题呢?
一、结构体类型引入
处理这样的二维表数据时,通常以记录为单位进行处理,而每条记录中包含多种数据类型,按以前所讲的数据类型没有办法处理。故引入了结构类型。即将多个基本类型作为一个集体定义成一种新的用户自定义类型。例:
Structstudent
{intnum;
charname[20];
charsex;
intage;
floatscore;
charaddr[30];};
说明:
1.Struct是一个关键字,标志着这是一个结构体类型。
2.Structstudent是一个类型名。
二、结构类型的使用步骤
step1:说明所定义的结构类型的结构形式,成员构成;
?相当于建立数据库二维表的表结构.
step2:用所定义的结构类型定义结构变量(记录变量);
?相当于为数据库二维表的各记录定义一个记录名.
step3:通过所定义结构变量(记录变量)访问对应记录中的成员.
?相当于编辑数据库二维表的记录中的各项.
(1)结构类型的说明:
在TurboC中,结构也是一种数据类型,但不同二维表所对应的结构不同,故在使用前需要对结构情况进行说明,即结构类型的说明.
结构类型说明的一般格式为:
比较
举例
struct结构名
{
类型名1成员变量名1;
类型名2成员变量名2;
...
类型名n成员变量名n;
}
说明:
1)struct是关键字,是结构类型的标志;
2)结构名是用户所说明的结构类型的名称的标识符,而不是变量名,以后可用它来定义结构变量.
3)类型名为以前所讲的各种数据类型(int,char等),也可以是已说明的结构类型。
4)成员变量名是构成结构的每一个成员变量的名称,相当于数据库二维表中的各字段名.
例1:
structdate
{intyear;
intmonth;
intday;
};
例2:
structstudent
{charname[12];
charsex;
sturctdatebirthday;
floatsc[4];
}
在C语言中,结构类型可以嵌套定义,所以以上两例可以合并为:
structstudent
{charname[12];
charsex;
structdate
{intyear;
intmonth;
intday;
}birthday;
floatsc[4];
}
(2)结构变量的定义及结构变量的内存分配:
1)结构变量的定义
象其它类型的变量一样,在使用结构变量时要先对其定义。结构变量可以是普通结构变量,结构数组,和结构指针等形式.
定义结构变量有三种格式,现分别举例说明:
先声明一个
Structdate
类型,然后在定义Structstudent类型时,将成员
Birthday定义为Structdate类型。
格式一:先说明结构类型,再单独进行结构变量定义.
例:
structstudent
{charname[12];
charsex;
sturctdatebirthday;
floatsc[4];
};
structstudentstd,pers[3],*pstd;
说明:这个例子定义了三个结构类型名为student的结构变量:
eq\o\ac(○,1)普通结构变量
文档评论(0)