结构体与共用体概要.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-------自定义数据类型 结构体类型定义 结构体 结构体变量的定义 定义结构体类型的同时定义结构体变量 一般形式: 结构体数组的定义: 三种形式: 结构体数组的定义: 三种形式: 结构体数组的定义: 三种形式: 结构体数组初始化 结构体数组初始化 结构体数组初始化 共用体 共用体类型的说明和变量的定义 先定义共用体类型,再定义共用体变量或共用体指针变量。   union 共用体名   {    数据类型标识符 成员名1; 数据类型标识符 成员名2; 数据类型标识符 成员名3; … 数据类型标识符 成员名n;   }; union 共用体类型名 共用体变量名表 (或 *共用体指针变量名表); 枚举类型 枚举类型的定义 用typedef定义类型 用typedef定义类型 共用体类型的说明和变量的定义 例如: union uniontype    {  char ch;    int i;     float f; }; 上述结构规定了一种名为uniontype的联合体类型,它由三个不同数据类型的成员组成,并且共享同一块内存空间。 例如: union uniontype { int a; char b; float c; double d; }; union uniontype mydata; 共用体类型的说明和变量的定义 例如: union uniontype { int a; char b; float c; double d; } mydata; 共用体类型的说明和变量的定义 (1)结构体和共用体都是由多个不同的数据类型成员组成,但在任何同一时刻,共用体中只存放了一个正在操作的成员,而结构体的所有成员都存在。 (2)对应共用体的不同成员赋值,将会对其他成员重写,原来成员的值就不复存在了,而对结构体的不同成员赋值则互不影响。 结构体与共用体的区别: 枚举类型也是一种数据类型。对于那些只可能取有限的某几种值的数据,可以把它定义为枚举类型数据。所谓“枚举”就是变量在定义时,将它所有可能的取值都一一列举出来。这种在定义时就明确规定变量只可能取哪几个值,而不能取其他值的这类数据类型叫枚举类型。 在解决实际问题中,有些变量的取值被限定在一个有限的范围内。例如一个星期只有七天、一年只有十二个月等。如果把这些量定义声明为整型,字符型或其他类型显然是不妥当的。为此,C语言提供了一种称为枚举的类型,在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型变量的取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。 枚举类型是ANSI C新标准所增加的新的数据类型,如果一个变量只有几种可能的值,可以定义为枚举类型。 枚举类型定义的一般形式为: enum 枚举名{ 元素名1,元素名2,…,元素名n }; 在枚举元素列表中应罗列出所有可用值。例如: enum month{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec}; //该枚举类型只准取12种值 enum weekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}; 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。 枚举类型的说明规定该类型只准许取哪几种值,枚举类型的数据在程序编译时并不分配内存,也可以说,说明只规定了枚举的类型,枚举名实际是枚举类型名。上面的month和weekday都是枚举名。 枚举变量的说明 枚举型变量定义的一般形式为: enum [枚举名][{元素名1,元素名2,…,元素名n}]枚举变量名表; 枚举类型变量定义和结构体、共用体变量定义类似,也有三种定义方法,例如下面几种定义形式是合法的:   1.先定义枚举类型,再定义枚举类型变量:    enum标识符{枚举数据表};    enum标识符 变量表; 例如: enum weekday{Sun,Mon,Tue} ; enum weekday day;   2.在定义枚举类型的同时定义枚举类型变量:    enum标识符{枚举数据表} 变量表; 例如:

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档