- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结构体与公用体精选
* 第6章 结构体与公用体 6.1 结构体概述 6.1.1 结构体的引入 为了方便处理此类数据,常常把这些关系密切但类型不同的数据项组织在一起,即“封装”起来,并为其取一个名字,在C语言中,就称其为结构体(有些高级语言称之为记录)。 结构体通常是由不同数据类型的数据项组成,一般也称是由不同成员组成,因此可以说:一个结构体可包含若干成员,每一个成员可具有不同的名字及数据类型。 结构体的引入为处理复杂的数据结构提供了有力的手段,也为函数间传递一组不同数据类型的数据提供了方便,特别是对于数据结构较为复杂的大型程序提供了方便。 6.1.2 结构体类型的定义 ●简单类型是由系统预定义的,直接可以使用 ●结构体类型是根据需要由程序员自行定义 ●使用之前必须先定义结构体类型 ●结构体类型定义格式: struct 结构体名 { 结构体成员表; }; ●struct是关键字,称为结构体定义标识符, ●结构体名则由程序员自己命名 ●大括号中的结构体成员表包含若干成员,每一个成员都 具有如下的形式: 数据类型标识符 成员名; 对一个学生的描述,其结构体类型定义如下: struct stud_type { char name[10]; /* 姓名 */ long num; /* 学号 */ char sex; /* 性别 */ int age; /* 年龄 */ float score; /*成绩*/ char address[10]; /*家庭住址*/ }; 说明 (1)定义一个结构体类型只是描述了此结构体的组织形式,在编译时并不为其分配存储空间,即仅描述此数据结构的形态或者说模型,故不能对定义的一个结构体类型进行赋值、存取或运算。 (2)结构体的成员可以是简单变量、数组、指针、结构体或公用体等。 (3)结构体类型定义可以放在函数内部,也可以放在函数外部。若放在内部,则只在函数内有效;若放在外部,则从定义点到源文件尾之间的所有函数都有效。 (4)结构体成员的名字可以同程序中的其它变量同名,二者不会相混,系统会自动识别它。 6.2 结构体变量 6.2.1 结构体变量的定义与初始化 1.结构体变量的定义 ●结构体变量也必须先定义,然后才能引用 ●结构体变量的定义可以有以下三种方式: (1) 先定义类型再定义变量 形式: struct stud_type { char name[10]; long num; char sex; int age; float score ; char address[10]; }; struct stud_type student1, student2; (2)在定义类型的同时定义变量 struct stud_type { ┇ }student1, student2; (3)直接定义结构体变量 struct { ┇ }student1,student2; 说明 (1)在定义结构体类型时,系统并不分配内存空间,仅当定义结构体变量时,系统才为被定义的每一变量分配相应的存储单元。 如:上面定义的结构体变量student1、student2在内存中各占31个字节(10+4+1+2+4+10=31) (2)结构体变量的定义一定要在结构体类型定义之后进行,对尚未定义的结构体类型,不能用它来定义结构体变量。 如:对一个教师teacher的结构体类型未作定义,则下面的变量定义是错误的; struct teah_type teacher; 2. 结构体变量的初始化 ●结构体变量初始化:在定义结构体变量的同时对其成员变量赋初值. ●在赋值时应注意按顺序及类型依次为每个结构体成员指定初始值。 格式: struct 结构体类型名 结构体变量={初始化值}; 说明 (1)初始化数据之间用逗号分隔。 (2)?初始化数据的个数一般与成员的个数相同,若小于成员数,则剩余的成员将被自动初始化为0(若成员是指针,则初始化为NULL)。 (3)?初始化数据的类型要与相应成员变量的类型一致。 例: struct date_type
您可能关注的文档
- 细说清蒸鱼精选.doc
- 组织行动论(心理学)精选.pdf
- 绍兴书法史——王羲之精选.doc
- 绍兴市2012年高三教学质量调测精选.doc
- 织梦程序标签的调用和使用精选.ppt
- 终于有人把高铁网画得像地铁一样方便!高清大图人手一份精选.pdf
- 细胞分裂和细胞分化形成组织(动物的组织)精选.ppt
- 绍兴市老年大学2014秋季招生简章精选.doc
- 绍兴兰亭景区造景手法欣赏 延中绿地整体规划方案分析精选.doc
- 绍兴餐馆推荐精选.doc
- 中国农业科学院农业资源与农业区划研究所2024年度公开招聘笔试备考题库及答案详解1套.docx
- 中国城市规划设计研究院2025年度公开招聘笔试模拟试题带答案详解.docx
- 2025年银川市公安局面向宁夏警官职业学院招聘285名警务辅助人员笔试模拟试题及完整答案详解1套.docx
- 2025年衢州市公安局第一期招聘54名警务辅助人员笔试模拟试题含答案详解.docx
- 2025年辽宁沈阳理工大学招聘高层次人才142人笔试模拟试题及答案详解1套.docx
- 中国民航科学技术研究院2024年度面向社会公开招聘工作人员笔试模拟试题及答案详解一套.docx
- 中国地质科学院矿产资源研究所2025年度公开招聘工作人员(第一批)笔试模拟试题及参考答案详解一套.docx
- 中国地质科学院地质力学研究所2024年度社会在职人员公开招聘笔试备考题库及答案详解1套.docx
- 中国疾病预防控制中心2024年度公开招聘学校卫生领域学科带头人笔试备考题库参考答案详解.docx
- 中国热带农业科学院南亚热带作物研究所2025年第二批公开招聘工作人员笔试模拟试题及答案详解一套.docx
文档评论(0)