以位为单位存储标志-共用体-union
一、程序的结构如下:
{
struct
{
uint8 Key1_Flag :1;//表示第0位
uint8 Key2_Flag :1;//表示第1位
uint8 Key3_Flag :1;//2
uint8 Key4_Flag :1;//3
uint8 Key5_Flag :1;//4
uint8 Key6_Flag :1;//5
uint8 kk :2;//6~7
} Keya1;
uint8 Keyb1;
}Keyst;
程序的使用方法如下:
结构的访问方法是:
1.开头定义:
Keyst flag1_6;
2.程序中访问位的方法是:
Flag1_6.Keya1.Key1_Flag(可以赋值,可以作为判断的条件)
Flag1_6.Keya1.Key2_Flag
Flag1_6.Keya1.Key2_kk是表示的两位的
程序中做为位的整体的是:
Flag1_6.Keyb1
我们在记录这个值的时候就显的特别的方便了。
二、但对于51单片机或者其他的一些,还有另外的一种方法:
uchar bdata sta;
sbit RX_DR
=sta^6;sbit TX_DS
=sta^5;sbit MAX_RT=sta^4;//51程序的表示方法
而第一句就跟上边的定义一样了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以位为单位存储标志-共用体-union的更多相关文章
- (C语言)共用体union的使用方法举例
曾经在学校学习C语言的时候一直搞不懂那个共用体union有什么用的.工作之后才发现它的一些妙用,现举比例如以下: 1. 为了方便看懂代码. 比方说想写一个3 * 3的矩阵,能够这样写: [ 注:以下用 ...
- 共用体union
union共用体名 { 类型名 成员名1: 类型名 成员名2: …… 类型名 成员名n; } 由于各个成员变量在内存中都使用同一段存储空间,因此共用体变量的长度等于最长的成员长度,共用体的访问方式和结 ...
- 共用体 union
共用体是一种数据格式,能够存储不同的数据类型,但只能同时存储其中的一种类型. union one4all { int int_val; double double_val; long long_val ...
- C语言共用体union
union共用体说明: 当一个共用体被声明时, 编译程序自动地产生一个变量, 其长度为联合中最大的变量长度的整数倍. 比如union中有{int x; double x1; char name[10] ...
- C结构体struct 和 共用体union的使用测试
#include <stdio.h> struct { char name[10]; char sex; char job; int num; union{ //联合只能共用同一个内存 i ...
- 5、数组&字符串&结构体&共用体&枚举
程序中内存从哪里来 三种内存来源:栈(stack).堆(heap).数据区(.date): 栈(stack) 运行自动分配.自动回收,不需要程序员手工干预: 栈内存可以反复使用: 栈反复使用后,程序不 ...
- C语言共用体、大小端、枚举
1.共用体和结构体的相同和不同 (1)相同点就是操作语法几乎相同.(2)不同点是本质上的不同.struct是多个独立元素(内存空间)打包在一起:union是一个元素(内存空间)的多种不同解析方式. # ...
- C学习笔记(6)--- 共用体,位域深入
1.共用体(Union): 共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型.您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值.共用体提供了一种使用相同的内存位置 ...
- C++结构、共用体、枚举
一.结构 结构是C++OOP的基石.学习有关结构的知识僵尸我们离C++的核心OOP更近. 结构是用户定义的类型,同一个结构可以存储多种类型数据,这使得将一个事物的不同属性构成一个对象成为了可能.另外C ...
随机推荐
- MySQL 循环分支语法
---恢复内容开始--- Loop循环 label: LOOP statement_list IF exit_condition THEN LEAVE label; END IF; END LOOP ...
- centos 重装docker
docker应该是root用户来使用,因为他连接了底层!!!以下操作默认是root用户来操作的 停止所有正在运行的容器: docker stop $(docker ps -a -q) 删除所有的容器c ...
- 乐搏讲自动化测试- Python自动化测试前景怎么样(4)
Python言语还能够写爬虫,但仅仅只是爬虫的入门罢了.通过Python入门爬虫比较简略易学,不需要在一开始把握太多太根底太底层的常识就能够很快上手,而且很快能够做出成果,十分合适小白一开始想做出点看 ...
- c++自动导出lua绑定
cocos 使用bindings-generator脚本代替了toLua++. 编写效率大大提高. 具体的在本机中分享:http://note.youdao.com/noteshare?id=0f41 ...
- Java图片上查找图片算法
之前用按键精灵写过一些游戏辅助,里面有个函数叫FindPic,就是在屏幕范围查找给定的一张图片,返回查找到的坐标位置. 现在,Java来实现这个函数类似的功能. 算法描述: 屏幕截图,得到图A,(查找 ...
- C++ 模板template和template
原文链接:https://blog.csdn.net/skyleung/article/details/42195509 template<class T>和template<typ ...
- 定时器tasktimer
1.web.xml中配置 <servlet> <servlet-name>TaskTimer</servlet-name> <servlet-class> ...
- HDU_1584_(DFS)
蜘蛛牌 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- Functions of the call stack
https://en.wikipedia.org/wiki/Call_stack#STACK-FRAME As noted above, the primary purpose of a call s ...
- Windows提高_1.4进程通信
进程通信 使用 WM_COPYDATA 客户端(发送端) // 1. 找到窗口程序 HWND hWnd = FindWindow(NULL, L"Window1"); // 2 ...