2023年C案例教程精品讲义word文档第十章1.pdf

上传人:H****o 文档编号:87986757 上传时间:2023-04-19 格式:PDF 页数:5 大小:194.69KB
返回 下载 相关 举报
2023年C案例教程精品讲义word文档第十章1.pdf_第1页
第1页 / 共5页
2023年C案例教程精品讲义word文档第十章1.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2023年C案例教程精品讲义word文档第十章1.pdf》由会员分享,可在线阅读,更多相关《2023年C案例教程精品讲义word文档第十章1.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学习必备 欢迎下载 第 10 章 结构体与共用体 第一节 结构体类型变量的定义和引用 一、结构体类型的定义 结构体类型的一般定义形式如下:struct 结构体类型名 类型名 1 成员变量名 1;类型名 2 成员变量名 2;类型名 n 成员变量名 n;例如,一个考生的结构体类型可定义如下:struct exam char name30;char sex;int age;char addr40;int number;float score20;这里定义了一个exam 类型的结构体,它包含有姓名name(字符数组)、性别 sex(字符型)、年龄 age(整型)、地址 addr(字符数组)、考号 nu

2、mber(整型)和成绩 score(单精度浮点型)6 个成员。可以看到,利用结构体类型数据,用户能够自行定义满足自己需要的数据结构,适应实际需求。二、结构体类型变量的定义、引用和初始化 学习必备 欢迎下载 结构体类型定义只提供了一个类型,这个类型就象整型(int)一样是一个数据类型,其中并没有具体的数据,系统不会给它分配存储单元。要使用它,应该定义结构体类型的变量,并利用这种变量来处理具体数据。1结构体类型变量的定义 用已定义的结构体类型来声明结构体类型变量,声明的一般形式为 struct 结构体类型名 变量表列;struct exam exam1;/*定义结构体变量 exam1*/2结构体类

3、型变量的引用 引用结构体变量的一般形式为 结构体变量.成员 exame1.age=18;3结构体类型变量的初始化 同其他类型的变量一样,结构体类型变量的初始化可以在定义时完成。如果需要在程序中进行初始化。则需要逐个成员逐级对最低一级的成员赋初值。第二节 结构体数组的定义、初始化和引用 一、结构体数组的定义和初始化 定义结构体数组与定义结构体变量一样,可以在定义结构体类型的同时声明,也可以在定义结构体类型之后声明。如定义一个一维数组的形式可以写成 struct 结构体名 结构体数组名长度;二、结构体数组的成员变量引用 其一般引用形式为 数组名下标.成员变量名 第三节 指向结构体类型数据的指针 一

4、、指向结构体类型数据的指针 定义如下这里定义了一个类型的结构体它包含有姓名字符数组性别字符类型变量的定义引用和初始化学习必备欢迎下载结构体类型定义只提供理具体数据结构体类型变量的定义用已定义的结构体类型来声明结构体学习必备 欢迎下载 定义了结构体类型之后,可以声明结构体变量,也可以定义指向结构体变量的指针。struct stu stu1=张文,男,21,上海路 2 号,30001,80,a,*p1;p1=&a,p=&stu1;现在共有 3 种引用结构体成员变量的格式:(1)结构体变量.成员名,例如 stu1.name。(2)(*q 指针变量).成员名,例如(*p).name。(3)指针变量-成

5、员名,例如 p-name。二、指向结构体数组的指针 可以设定指向结构体数组或数组元素的指针和指针变量 struct stu stu12=张文,男,21,上海路 2 号,30001,80,贾博丽,女,18,建设路 123#,30002,92,*p;p=stu1;三、结构体类型数据作函数型参 根据需要,可以向一个函数传递结构体变量的成员,结构体变量或者结构体数组。即结构体类型数据可以作函数的型式参数。1结构体变量的成员作函数型参 2结构体变量和结构体变量的地址作函数型参 3结构体数组作函数型参 第四节 共用体类型变量的定义和引用 一、共用体类型及共用体变量的定义 定义共用体类型的一般形式:unio

6、n 共用体名 定义如下这里定义了一个类型的结构体它包含有姓名字符数组性别字符类型变量的定义引用和初始化学习必备欢迎下载结构体类型定义只提供理具体数据结构体类型变量的定义用已定义的结构体类型来声明结构体学习必备 欢迎下载 类型名 1 成员名 1;类型名 2 成员名 2;类型名 n 成员名 n;例如:union stu char name8;float spend;int class;此处定义了一个 stu 类型的共用体 定义共用体类型之后再声明共用体变量:union stu c1,c2,*up;二、共用体变量的引用 不能整体引用共用体变量来进行输入和输出,只能引用共用体变量的成员,如引用上例中声

7、明的共用体变量,可以写为 printf(“%s”,c1.name);p=&c1 p-class=23;应该注意的是,因为共用体变量的各个成员共同使用同一段内存空间,因此在某一瞬时只能有一个成员起作用,而此时其它成员则并不存在。所以在赋值时只能实现对共用体变量的一个成员赋值,也不能实现对共用体变量的初始化。例如,如果有以下赋值语句:定义如下这里定义了一个类型的结构体它包含有姓名字符数组性别字符类型变量的定义引用和初始化学习必备欢迎下载结构体类型定义只提供理具体数据结构体类型变量的定义用已定义的结构体类型来声明结构体学习必备 欢迎下载 scanf(“%s”,&c1.name);c1.spend=4

8、.5;c1.class=56;那么,前两个赋值在最后一个赋值语句执行之后就会丢失,使用下面的语句是不对的,因为此时 name 成员并没有值:if(name6=C)i+;因此,在引用共用体变量时应该注意当前存放在变量中的到底是哪个成员。由于共用体变量存储的这种特殊性,既不能将共用体变量作为含数参数,也不能使函数返回共用体类型的变量。共用体类型一般用来存取在不同场合下会有不同类型取值的对象。因为在这种情况下,如果定义多个不同类型的变量或数组来处理,会造成空间的浪费;既然在某一个时刻只需要一个值,显然使用共用体类型就既节省了内存空间,又同时保证了对象的整体性。定义如下这里定义了一个类型的结构体它包含有姓名字符数组性别字符类型变量的定义引用和初始化学习必备欢迎下载结构体类型定义只提供理具体数据结构体类型变量的定义用已定义的结构体类型来声明结构体

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁