第14章节_结构体.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章节_结构体

第十四章 到目前为止我们学习了C 语言中的基本类型以及 派生类型(指针和数组). C语言中由用户构造的三种数据类型为: 1用户定义类型(typedef):对已有的类型,另外说明 一个新的类型标识符 2结构体(struct):把具有相互关系的不同类型的数 据组成一个有机整体. 3共用体(union):又称联合体.使几种不同类型的变 量共用一段存储空间. §14.1用typedef说明一种新类型名 C语言允许用typedef说明一种新类型名,形式为: typedef 类型名 标识符; 其中: 类型名:前面已有定义的类型标识符. 标识符:用户定义标识符,用作新的类型名. typedef其作用仅仅是用标识符来代表已经存在的类型名, 并未产生新的数据类型,原有类型名依然有效. typedef int INTEGER; 该语句把一个用户命名的标识符INTEGER说明成了一个int 类 型的类型名.在此说明之后,可以用标识符INTEGER来定义整型 变量.例如: INTEGER m,n; 等价于int m,n; typedef char * CHARP; CHARP p; 等价于: char *p ; §14.2结构体类型 有时需要将不同类型的数据组合成一个有机的整体,以便 于引用。如: 一个学生有学号/姓名/性别/年龄/地址等属性 学号 :int num; 姓名:char name[20]; 性别:char sex; 年龄:int age; 地址:int char addr[30]; 这几个信息只有一起出现才会对我们有用,那么这了我们方便去 引用,可以将这几个信息合起来作为一个整体起名子为:student. 那么C语言中如何规定,如何使用? 一.结构体类型的说明 一般形式为: struct 结构体标识名 { 类型名1 结构成员表1; 类型名2 结构成员表2; 类型名3 结构成员表3; : 类型名n 结构成员表n; }; 其中: 1 struct 是关键字,是结构体类型的标志. 2结构体标识名,结构成员表名都是用户定义的标识符. 3结构体标识名是可选项,在说明中可以不出现. 4每个结构成员表名中可含多个同类型的成员名.之间用 逗号隔开. 5结构体中的成员名可以和程序中的其他变量同名; 6不同结构体中的成员名也可以同名. 7结构体说明同样要以分号结尾; 如关于日期的结构体类型可以说明如下: struct date { int year,month,day;}; 结构体类型说明中的类型名1类型名n,不仅可以是 简单数据类型,也可以是构造类型,当然也可以是某种结构体类 型.当结构体说明中又包含结构体时,称为结构体的嵌套. 如一个学生的信息可以有,姓名,性别,出生日期,每门课成绩等, struct student { char name[12]; char sex; struct date birthday; float sc[4]; }; 如果struct date 结构体类型前面没有定义,也可以改写为: struct student 1标准的C规定结构体至少允许 { char name[12]; 嵌套15层,并且允许内嵌套结构体 char sex; 成员的名字与外层成员的名字相同 struct date 2结构体类型说明只是列出了该 {int year; 结构的组成情况,标志这种结构已 int month; int day; 存在,编译程序并没有因此而分配 } birthday; 任何存储空间.真正占有存储空间

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档