C语言-第9章 用户自己建立数据类型.pptx

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

第9章 用户自己建立数据类型C语言的数据类型(P43 图3.4) 基本整型 短整型 长整形 基本类型 整型 双长整型* 字符型 布尔型* 单精度浮点型 浮点型 双精度浮点型数据类型 复数浮点型 枚举类型(§9) 空类型 指针类型(§8) 数组类型(§6) 派生类型  结构体类型(§9) 共用体类型(§9) 函数类型(§7) 算 术 类 型 纯量类型 组合类型有*的是C99所增加的。主要内容9.1 定义和使用结构体变量9.2 使用结构体数组9.3 结构体指针9.4 用指针处理链表9.5 共用体类型9.6 使用枚举类型9.7 用typedef声明新类型名9.1 定义和使用结构体变量9.1.1 自己建立结构体类型9.1.2 定义结构体类型变量9.1.3 结构体变量的初始化和引用 Num name sex age score addr100101 Li Fun M 18 87.5 Beijing9.1.1 自己建立结构体类型数组是同类型数据的集合。在实际应用中,有时需要将几个不同类型的数据组合成一个整体用于描述现实的某个事物(如:商品、学生、机票、借书登记等)。将它们定义成相互独立的简单变量,难以反映它们之间的内在联系。C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体(structure)。结构体类似于数据库语言中的“记录”。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,是属于同一个学生的,因此组成一个组合数据,如student_1的变量,反映它们之间的内在联系struct Student{ int num; char name[20]; char sex; int age; float score; char addr[30]; };由程序设计者指定了一个结构体类型struct Student它包括num,name, sex,age,score,addr等不同类型的成员结构体类型示例C中不提供任何预定义的结构体数据类型。结构体数据类型的一般定义形式为:struct 结构体名{成员列表};结构体名用作结构体类型标志, 又称“结构体标记”(structure tag)。“struct 结构体名”是一个结构体类 型名,与系统提供的标准类型具有 一样的地位和作用。各个成员都应该进行类型声明: 类型名 成员名 如:struct student {int num; char name[20]; char sex; int age; float score; char addr[30]; }定义结构体数据类型定义结构体数据类型说明:(1)结构体类型并非只有一种,而是可以设计出许多种结构体类型,例如struct Teacherstruct Workerstruct Date等结构体类型各自包含不同的成员说明:(2) 成员可以属于另一个结构体类型。 struct Date   {int month; int day; int year; }; struct Stu  {int num;char name[20]; char sex;int age; struct Date birthday; char addr[30];  };numnamesexagebirthdayaddrmonthdayyear定义结构体数据类型前面只是建立了一个结构体类型,它相当于一个模型,并没有定义变量,其中并无具体数据,系统对之也不分配存储单元。相当于设计好了图纸,但并未建成具体的房屋。为了能在程序中使用结构体类型的数据,应当定义结构体类型的变量,并在其中存放具体的数据。9.1.2 定义结构体类型变量stud1stud2100102 WangLi F 20 98 Beijing100101 ZhangXin M 19 90.5 Shanghai先声明结构体类型再定义变量名: struct 结构体名 { 成员列表 }; struct 结构体名 结构体变量名表; 例1: struct student {int num; char name[20]; char sex; int age; float score; char addr[30]; } struct student stud1,stud2;stud1(stud2)在内存中所占的字节数≥4+20+1+4+4+30=63【注意】将一个变量定义为标准类型(基本数据类型)与定义为结构体类型不同之处在于后者不仅要求指定变量为结构体类型,而且要求指定为某一特定

文档评论(0)

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

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

1亿VIP精品文档

相关文档