- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
21天学通51单片机开发第9章
位域指针 位域允许用各种格式输出,可以使用位域指针来实现。 01 #include stdio.h //头文件 02 void main() //主函数 03 { 04 struct btest //定义位域 05 { 06 unsigned a:1; 07 unsigned b:3; 08 unsigned c:4; 09 }mybtest,*pbit; //声明位域变量和位域指针 10 mybtest.a=1; //位域变量赋值 11 mybtest.b=7; 12 mybtest.c=15; 13 printf(%d,%d,%d\n,mybtest.a,mybtest.b,mybtest.c); //输出结果 14 pbit=mybtest; //位域指针赋值 15 pbit-a=0; //执行运算 16 pbit-b=3; 17 pbit-c|=1; 18 printf(%d,%d,%d\n,pbit-a,pbit-b,pbit-c); //输出结果 19 } 性格决定命运, 专注成就人生 源智天下 1-* 北京源智天下科技有限公司 联系方式: 联系方式: 北京源智天下科技有限公司 21天学51单片机开发 第九讲:C51的聚合类型 课程安排 联合类型 枚举类型 类型声明 位域 联合类型 联合类型也称为共用体,在不同时刻呈现不同的数据类型。 联合类型是将不同类型的变量组织成一个整体的数据类型。 这些不同类型的变量在单片机内存中占用同一段存储单元。 为了不互相影响,其在不同的时间保存不同的数据类型和不同长度的变量。 联合的定义 联合类型也是用户自定义的数据类型,其定义的方式如下: union 联合名 { 数据类型 成员名; 数据类型 成员名; ... }; 联合变量的声明 在定义了联合类型后,还需要使用该联合类型来声明联合变量。 联合变量的声明有3种方法: 先定义联合,再声明联合变量 定义联合时声明联合变量 直接声明联合变量 先定义联合,再声明联合变量 这种方法的一般形式如下: union 联合名 联合变量; 注意:如果联合变量中成员变量的大小不一致,则自动取其中最大的长度为整个联合变量的长度。 union char_int { char ch; int i; }; union char_int a; 定义联合时声明联合变量 C51中,允许在定义联合的同时声明联合变量。 这种声明方法的一般形式如下: union 联合名 { 数据类型 成员名; 数据类型 成员名; ... }联合变量; 直接声明联合变量 直接声明联合变量的方法示例如下: union { int a ; char b; float c; }Test; 注意:直接声明联合变量的方法不能再额外声明其他的联合变量。 联合变量成员的引用 联合体变量成员的引用使用“.”来实现。 例如,对于前面定义的Test,其成员引用为: Test.a Test.b Test.c 对联合体变量成员可以用于赋值和读取操作。 注意:不能同时引用三个成员,既在任意时刻,只能使用其中之一的成员。 联合变量数组 联合变量数组就是数组中的每一个元素均为联合类型。 当使用联合变量数组时,其成员的引用同样采用“.”。 01 #include stdio.h //头文件 02 void main() //主函数 03 { 04 union TIO //定义联合 05 { 06 int a; 07 char b; 08 float c; 09 }; 10 union TIO un[3]; //声明联合数组变量 11 un[0].a=10; //赋值 12 un[1].b=3.7; 13 un[2].c=A; 14 printf(un[0].a=%d\n,un[0].a); //输出成员变量 15 printf(un[1].b=%c\n,un[1].b); 16 printf(un[2].c=%f\n,un[2].c); 17 } 联合变量指针 同结构变量类似,联合变量也可以定义为指针形式。 当联合变量定义为指针时,要用“-”符号来访问内部的成员: 联合名-成员名 01 #include stdio.h //头文件 02 void main() //主函数 03 { 04 int i=10; //定义并声明变量 05 float f=3.7; 06 c
您可能关注的文档
- 2010[2+2]电气工程及其自动化培养方案(11-10-08).doc
- 11第十一章 数学物理方法.ppt
- 同济高数第十一章11-3.ppt
- 第十一章11.4古典概型.ppt
- 11第十一章_商业银行.ppt
- 11第十一章 领导概论.ppt
- 湖北黄冈襄樊2008届11月联考.doc
- 2008年11月人力资源三级真题.doc
- 实验专题训练(08-11广东).doc
- 2008年11月全国统考二级理论真题.doc
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)