1 / 22
文档名称:

第9章结构体和共用体(2)第10章位运算.ppt

格式:ppt   大小:730KB   页数:22页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第9章结构体和共用体(2)第10章位运算.ppt

上传人:s1188831 2017/8/13 文件大小:730 KB

下载得到文件列表

第9章结构体和共用体(2)第10章位运算.ppt

相关文档

文档介绍

文档介绍:第9章结构体和共用体 第10章位运算
共用体
枚举类型
用typedef进行类型定义
2017/8/13
第18次课
授课班级:供电专101/102、集控专101/102、测控本101/电子本101
教学目的:
掌握共用体的概念及数据存储特点、变量的定义、成员的引用;
了解枚举的概念及枚举类型的定义及使用;
掌握用typedef类型数据类型的方法。
了解简单几种位运算方法;
重点:
共用体变量的定义及使用;
typedef类型数据类型的方法;
难点:
共用体的特点及其与结构体的区别。
教具:
ppt课件、屏幕投影
教学过程:
问题引入、内容讲解、提问、小结、作业
共用体
共用体类型的定义
一般形式为:
union 共用体名
{
成员说明列表
};
例如:union data
{ char ch;
int i;
float f;
};

,再定义共用体变量。
例如:
union data
{ char ch;
int i;
float f;
};
union data a,b,c;
a
4个字节

例如:
union data
{ char ch;
int i;
float f;
}a,b,c;

,省略共用体类型名,直接定义共用体变量。
例如:
union
{ char ch;
int i;
float f;
}a,b,c;

共用体成员的引用
引用格式:

例如:
引用上一节所定义的共用体变量a的成员:



注意,一个共用体变量不是同时存放多个成员的值,而只能存放其中的一个值,这就是最后赋给它的值。
例如:
='y'; =278; =;
共用体变量中最后的值是:
也可以通过指针变量引用共用体变量中的成员。
例如:
union data *pt,x;
pt=&x;
pt->ch='y';
pt->i=278;
pt->f=;
共用体成员的引用
总结:共用体不同于结构体的特点
共用体变量所占的内存单元的字节数不是所有成员的字节数之和,而是等于成员中最长字节的成员所占内存空间的字节数。
变量中不能同时存放多个成员值,只是可以根据需要用变量存放一个成员类型数据。
可以对共用体变量进行初始化,但在花括号中只能给出第一个成员的初值。
union memo
{char ch;
int i;
float x;
}y1={'a'};
枚举类型
在实际应用中,有的变量只有几种可能的取值。如表示星期、月份的名称等。为了提高程序描述问题的直观性,ANSI C加入允许程序员定义枚举类型的机制。
所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。枚举类型定义的一般形式为:
enum 枚举名{标识符1,标识符2,…,标识符n};
例:
enum weekname{Sun,Mon,Tue,Wed,Thu,Fri,Sat};