第11章 结构体与共用体 第11章 结构体与共用体 为将不同数据类型、但相互关联的一组数据,组合成一个有机整体使用,C语言提供一种称为结构体的数据结构。 结构体是数目固定、类型不同的若干有序变量的集合。 11.1 结构体类型与结构体变量的定义 11.1.1 结构体类型定义 struct 结构体类型名 { 数据类型 数据项1; 数据类型 数据项2; …… …… 数据类型 数据项n; }; 11.1.1 结构体类型定义 例如:定义日期结构类型:由年月日三项组成 struct date {int year; int month; int day; }; 11.1.1 结构体类型定义 说明: (1)结构体类型中的数据项,既可以是基本数据类型,也允许是另一个已经定义的结构类型。 (2)结构体类型的长度等于各个成员的长度总和。 11.1.1 结构体类型定义 定义学生信息结构体类型:由学号、姓名、性别、生日4项组成. struct date {int year; int month; int day;}; struct std_info {char no[7]; char name[9]; char sex; struct date birthday;}; 11.1.2 结构体变量定义 1.定义结构体变量的方法,可概括为两种: (1)间接定义法──先定义结构体类型、再定义结构体变量 例如,利用已经定义的学生信息结构体类型std_info,定义一个相应的结构体变量 struct std_info student; 其中,student为结构体变量名,其拥有结构体类型std_info的全部成员。 11.1.2 结构变量定义 (2)直接定义法──在定义结构体类型的同时,定义结构变量。 11.2 结构体变量的引用与初始化 11.2 结构体变量的引用与初始化 例如: struct std_info {char no[7]; char name[9]; char sex; }student; 则引用各个成员的形式为: student.no, student.name, student.sex, student.no[0], student.name[0] 11.2 结构体变量的引用与初始化 main() { struct std_info {char no[7], name[9],sex; }student; scanf(%c%s%s,student.sex, student.no,student.name); printf(%s , %s , %c , student.no, student.name, student.sex);} 11.2 结构体变量的引用与初始化 说明: 如果某成员本身又是一个结构类型,则只能通过多级的分量运算,对最低一级的成员进行引用。 结构变量.成员.子成员.….最低1级子成员 如,引用结构变量student中的birthday成员的格式分别为: student.birthday.year student.birthday.month student.birthday.day 11.2 结构体变量的引用与初始化 2.结构体变量的初始化 结构体变量初始化格式,与一维数组相似: 结构变量={初值表} 例如,struct std_info student={“000102”, “张三”, ‘m’, {1980,9,20}}。 11.3 结构体数组 结构体数组的每一个元素,都是结构体类型数据,均包含结构体类型的所有成员。 例:利用结构体类型std_info,定义一个结构体数组student,用于存储和显示两个学生的基本情况。 11.3 结构体数组 /*输出三个学生的基本情况*/ for(i=0; i3; i++)
您可能关注的文档
最近下载
- 新解读《DL_T 408—2023电力安全工作规程 发电厂和变电站电气部分》最新解读.docx VIP
- 1.7 有多少名观众 教案 2025-2026学年北师大版数学三年级下册.docx VIP
- 第5章 比亚迪精诚钣喷质量管理体系(A0版).pdf VIP
- 学堂在线《大学生心理健康》课后作业单元考核答案.docx VIP
- 脑出血钻孔引流术后护理要点.pptx VIP
- 抖音美妆类短视频营销策略.pdf VIP
- 热敏罐灸疗法可复制.pdf VIP
- 《过敏性紫癜预防与处理指南(2025)解读》.docx VIP
- SL706-2015水库调度编制导则.pdf VIP
- 《美妆短视频的发展问题研究》文献综述1700字.docx VIP
原创力文档

文档评论(0)