第11章共用体、枚举和位运算.ppt
《第11章共用体、枚举和位运算.ppt》由会员分享,可在线阅读,更多相关《第11章共用体、枚举和位运算.ppt(28页珍藏版)》请在三一办公上搜索。
1、C语言程序设计第11章 共用体、枚举和位运算,第11章 共用体、枚举和位运算,主要内容11.1 共用体11.2 枚举11.3 位运算,11.1 共用体,11.1.1 共用体概述11.1.2 共用体类型定义11.1.3 共用体变量的定义11.1.4 共用体变量的引用11.1.5 共用体数据特点,11.1.1 共用体概述,共用体是有别于以前任何一种数据类型的特殊数据类型,它是多个成员的一个组合体,但与结构体不同,共用体的成员被分配在同一段内存空间中,它们的开始地址相同,使得同一段内存由不同的变量共享。共同使用这段内存的变量既可以具有相同的数据类型,也可以具有不同的数据类型。,11.1.2 共用体类
2、型定义,共用体类型定义的一般形式union 共用体名 数据类型 成员名1;数据类型 成员名2;数据类型 成员名n;;,11.1.2 共用体类型定义,例如,以下用法定义了数据类型名为union data的共用体数据类型:union dataint i;char ch;float f;在这里定义的union data共用体类型有3个成员:i、ch、f,它们的数据类型分别是int、char、float。,11.1.3共用体变量的定义,1共用体类型与共用体变量同时定义union data int i;char ch;float f;u1,u2,u3;2先定义共用体类型,再定义共用体变量union da
3、ta u4,u5;3直接定义共用体变量union int i;char ch;float f;u6,u7,u8;,11.1.3共用体变量的定义,共用体与结构体的区别:结构体说明的是一个组合型的数据,多个不同的数据项可以作为一个数据整体对待;而共用体说明的是内存的一种共享机制,多个不同的变量可以使用同一段内存空间。结构体中各成员有不同的地址,所占内存长度等于全部成员所占内存之和;而共用体各成员有相同的地址,所占内存长度等于最长的成员所占内存。,11.1.4共用体变量的引用,共用体是对多个变量共享同一段内存的定义,因此单独使用共用体变量时没有任何意义,只能通过引用共用体的成员来使用共用体变量。例如
4、:使用u5.i形式引用共用变量u5的成员i;使用u5.ch形式引用共用变量u5的成员ch;使用u5.f形式引用共用变量u5的成员f。下面是在程序中使用共用体变量的语句:u1.i=20;scanf(%d,11.1.5 共用体数据特点,共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用,即:共用体变量中的值是最后一次存放的成员的值。例如,对以下赋值语句,当依次执行之后,只有第三个赋值语句起作用:u2.i=1;u2.ch=a;u2.f=1.5;若此时使用成员i或者ch的值则无任何意义。与结构体变量不同,共用体变量不能初始化,下面的用法是完全错误的。union da
5、taint i;char ch;float f;a=1,a,1.5;共用体变量的地址和它的各成员的地址都是同一个地址值,如&u1、&u.i、&u.ch、&u.f是相同的。,11.1.5 共用体数据特点,例11-1 分析以下程序的执行结果。#include stdio.hunion long i;int k;char m;char s4;part;,main()part.i=0 x12345678;printf(part.i=%lxn,part.i);printf(part.k=%xn,part.k);printf(part.m=%xn,part.m);printf(part.s0=%xt pa
6、rt.s1=%xn,part.s0,part.s1);printf(part.s2=%xt part.s3=%xn,part.s2,part.s3);,11.2 枚举,11.2.1 枚举概述11.2.2 枚举类型及枚举变量11.2.3 枚举应用,11.2.1 枚举概述,我们在编写程序时,经常遇到变量取值能够列举的情况,例如,表示星期的变量取值有星期一到星期天7个值,表示月份的变量取值有一月到十二月12个值,表示三原色的变量取值有红、黄、蓝3个值等。为了更好地处理这一类变量,ANSI C新标准增加了枚举数据类型,它把变量允许的取值明确列举了出来,使程序更直观,处理更有效。与结构体、共用体一样,枚
7、举也不是一种固定结构的数据类型,它可以根据具体的情况,使用enum关键字进行定义,当定义了一种枚举类型以后,就可以使用已经定义的枚举数据类型定义枚举变量。,11.2.2枚举类型及枚举变量,1枚举类型的定义定义形式enum 枚举名 枚举值表;例如:enum weekday Sun,Mon,Tue,Wed,Thu,Fir,Sat;2枚举变量的定义与共用体变量的定义方式类似,枚举类型变量的定义方式也有三种:通过已定义的枚举类型名来定义枚举变量;在定义枚举类型的同时定义枚举变量;不使用枚举名,而直接定义枚举变量。例如:enum weekday day1,day2;enum weekdaySun,Mon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 共用 枚举 运算

链接地址:https://www.31ppt.com/p-5887974.html