- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言讲义第07章-结构体与其他构造数据类型原
第7章 结构体与其他构造数据类型 《C语言程序设计》 主要内容 结构体 结构体数组的定义和引用 指向结构体的指针 结构体与函数 复杂的结构体 链表 共用体 位域 枚举类型 类型定义typedef 小结 7.1 结构体 表 7?1学生信息表 7.1 结构体 结构体类型的定义形式: struct [结构体类型名] { 数据类型 成员1; 数据类型 成员2; … 数据类型 成员n; }; 7.1 结构体 例如:表7-1对应的结构体类型定义可以是: struct stu_info { char no[8]; /*学号*/ char name[10]; /*姓名*/ char sex; /*性别*/ int age; /*年龄*/ char department[20]; /*院系*/ }; 7.1 结构体 结构体变量定义有以下三种形式: 先定义结构体类型,再定义结构体类型变量 例如:在结构体类型定义完成后,再定义变量。 struct stu_rec { /* 定义学生记录结构体类型 */ char num[8]; /* 学号 */ char name[10]; /* 学生姓名 */ char sex; /* 性别 */ int score[4]; /* 四科考试成绩 */ }; struct stu_rec student1, student2; /*定义结构体类型变量*/ 7.1 结构体 定义结构体类型的同时定义结构体类型变量 例如:在定义结构体类型时定义变量。 struct date { int year; int month; int day; } mydate1,mydate2; 7.1 结构体 直接定义结构体类型变量 例如:结构体类型定义时不指定类型名,而直接定义变量。 struct { char no[8] /* 编号 */ char name[10]; /* 姓名 */ char sex; /* 性别 */ float b_salary,f_salary,p_salary; /*基本工资、活工资、奖金*/ } person1,person2; /* 定义该结构体类型变量 */ 7.1 结构体 结构体变量一旦进入其作用域,系统便根据结构体类型定义时成员排列的先后,自动为结构体变量的每一个成员分配相应的存储空间。结构体变量的各个成员均有自己的存储空间,结构体变量所占存储空间的大小为各成员所占空间之和。 例如:student1 所占空间大小为:8 + 10 + 1+ 4 * 2 = 27(字节)。 mydate1所点空间大小为:2 + 2 + 2 = 6(字节)。 person1所占空间大小为:8 + 10 + 1 + 3 * 4 = 31(字节)。 7.1 结构体 C语言中,对结构体变量的输入、输出、赋值和运算等操作一般都是通过结构体变量的成员引用来实现的。结构体变量的成员引用,可使用成员运算符“.”来引用。引用的形式为: 结构体类型变量名 . 成员名 若定义的结构体类型及变量如下: struct date { int day; int month; int year; } today; 则变量today各成员的引用形式为: today.day、today.month、today.year。 7.1 结构体 结构体变量的初始化与一维基本类型数组的初始化方法相似。不同的是,对一维数组来说,是初始化数组元素(各元素类型相同),对结构体变量,则是初始化结构体成员(各成员类型可能不同)。 7.1 结构体 也可以使用标准的输入、输出函数完成对结构体类型变量成员的输入(赋值)、输出。由于结构体类型变量成员的数据类型通常是不一样的,用scanf同时输入不同类型的成员数据常常会出现意想不到的情况,解决的方法有以下两种: 7.1 结构体 利用转换函数 将结构体类型变量成员以字符串的形式输入,利用C的类型转换函数将其转换为所需类型。类型转换的函数是: atoi(char*str);将数字字符串转换为整型。 atof(char*str);将数字字
您可能关注的文档
- CIC项目计划管理程序.doc
- CI管理指导书.doc
- ci蛋糕店创业计划PPT.ppt
- CK黄金幻灯片2.ppt
- CL0课程要求.ppt
- Cisco路由器配置命令大全最新.doc
- Cl类钢结构表格.doc
- CMOS集成逻辑门电路.ppt
- cmm第五章.ppt
- CLIS电子化手册业务操指导作手册.doc
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)