- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言 用户自定义数据类型
第8章 用户自定义数据类型 本章内容 8.1 结构类型及其变量的定义 8.2 结构数组 8.3 结构和指针 8.4 联合类型 8.5 枚举类型 8.1.1结构类型的定义 一. 结构类型的概念 前面的我们学习了一些简单数据类型(整型、实型、字符型)的定义和应用,还学习了数组(一维、二维)的定义和应用,这些数据类型的特点是:当定义某一特定数据类型,就限定该类型变量的存储特性和取值范围。 在日常生活中,我们常会遇到一些需要填写的登记表,如成绩表、通讯地址、员工信息等。其数据类型可能由性质不同的成员组成。 结构类型的概念 我们可以创建如下的结构类型: struct staff 其中staff由用户命名 { char number[8]; char name[10]; char sex; int age; char dep[20]; float wage[2]; }; 以上定义了一个结构类型struct staff(与int 同地位),它包含了number、name、sex、age、dep、wage等不同类型的数据项。 1.结构体类型说明的一般形式 struct [标识符] { 结构成员列表; }; 说明: (1) struct是关键字,声明要定义一个结构类型,结构类型名用标示符命名,要“见名知义”; (2)成员列表给出n个成员声明,成员可以基本类型变量、数组,也可以是另一结构类型变量等,对每个成员必须作类型说明,成员之间用分号分隔; 2.结构类型的几点说明 (1)对于结构类型,系统不会为之分配内存。只有在定义了结构变量后,系统才会分配内存单元给变量。 (2)结构是由若干个数据项组成,每个数据项都属于一种已有定义的类型。每一个结构成员都不是独立的,它不是一般的变量,而是跟结构联系在一起。 (3)结构类型可以嵌套定义。所谓嵌套定义是指在一个结构类型中可以包含另一个或一些结构类型,通常用于结构类型的成员是一个结构变量的场合。 结构类型的几点说明 struct Student { char name[9]; struct Birthday { int year; int month; int day; } birthday; char sex; }; (4)允许省略结构类型名,即允许定义无类型名的结构类型。 1.结构类型数据对象包括一般变量、指针、数组等,对于成为结构变量、结构指针、结构数组等可以在说明语句中用已定义的结构类型定义结构数据对象,也可以在定义结构类型的同时定义结构数据对象。 2.结构类型变量的三种定义方式 (1) 在说明结构类型的同时, 也定义了结构类型变量 例如: struct book { int num; char name[60]; float price; } book1, books[3]; 在说明结构类型名struct book的同时,定义了结构类型变量book1与结构类型数组books, 数组books有三个元素:books[0]、books[1]、books[2]。 (2) 先说明结构类型, 再单独进行变量定义 例如: struct staff { char name[10]; char sex; float wage[2]; }; ... struct staff worker1, worker2; (3) 省略结构标识符, 直接定义变量 例如: struct /* 此处没有标识符*/ { int month; char day; unsigned year; } d[5]; 没有标识符一定要在定义结构类型的同时定义变量。 定义了结构类型: struce Student 后定义不同变量的区别: struce Student s1, s2[100], *s3=s1, *s4=s2; 从上面可以看出: (1) s1是该类型的变量, s2是该类型的一维数组, s3, s4 是
您可能关注的文档
- 家畜病理学复习题.doc
- 外科西医题库高级2.doc
- 小儿肿瘤外科学第62章药物及化疗.doc
- 大专作业答案.doc
- 暨南大学医学院内科学II段复习总结(首版).doc
- 广东医学院《眼科学》试卷.doc
- 妇产科实践与学习指导 第十七章 会阴部手术病人的护理.doc
- 年CDFI试题.doc
- 张博士红宝石笔记--内分泌.doc
- 广东省茂名市2013届高三第一次高考模拟理综试题.doc
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
最近下载
- 品牌策划与推广实战PPT全套完整教学课件.pptx
- 概率论与数理统计课件-全概率与贝叶斯公式.ppt VIP
- 炒茶机及其系统设计.doc
- The Pricing of Options and Corporate Liabilities期权定价与公司负债.pdf
- (概率论与数理统计)全概率公式与贝叶斯公式.ppt VIP
- 新人教(pep)四年级英语下册Unit4 At the Farm A. Let's talk 说课稿.doc
- 职业教育课程建设人工智能赋能的改革研究.docx VIP
- 公司出纳年终工作总结6篇.docx VIP
- (完整word版)AAO工艺设计计算.doc VIP
- 《秘书工作理论与实务》课件——第一章 秘书办文工作.pptx VIP
文档评论(0)