当前位置: 首页 > news >正文

南京网站建设小程序重庆关键词排名推广

南京网站建设小程序,重庆关键词排名推广,网站备案 优帮云,新冠感染最新数据1、union(共用体) 1.1、概述 C 语言中,union是一种数据类型,对比于结构体,结构体中的每个成员都占用独立的内存空间,而联合中所有的成员都共享同一个内存空间。 也就是说,union中的不同成员要…

1、union(共用体)

1.1、概述

C 语言中,union是一种数据类型,对比于结构体,结构体中的每个成员都占用独立的内存空间,而联合中所有的成员都共享同一个内存空间

也就是说,union中的不同成员要表示的是同一个变量的不同数据类型。

1.2、代码

#include <stdio.h>union data{int n;char ch;short m;
};int main(){union data a;printf("%d, %d\n", sizeof(a), sizeof(union data) );a.n = 0x40;printf("%X, %c, %hX\n", a.n, a.ch, a.m);a.ch = '9';printf("%X, %c, %hX\n", a.n, a.ch, a.m);a.m = 0x2059;printf("%X, %c, %hX\n", a.n, a.ch, a.m);a.n = 0x3E25AD54;printf("%X, %c, %hX\n", a.n, a.ch, a.m);return 0;
}

 

 注意:

1、union的存储空间以最大的成员为准,成员定义中最大的是int n,所以为4个字节。

2、图中的ch,n,m共用了4字节的内存空间。(根据大小端不同,存放顺序会不一致)

3、修改其中的一个成员,会覆盖原有数据,而造成其他成员的变化。


2、位域

2.1、概述

在定义结构体时,我们可以指定某个成员变量所占用的二进制位数(Bit)。

  • 成员变量的类型限制最大的二进制位数。
  • “:”后指定该成员变量所占用的二进制位数。

2.2、代码

struct bit_field {unsigned int a : 1;unsigned int b : 2;unsigned int c : 5;
};

这个结构体有三个成员变量 a、b 和 c,它们分别占用 1 位、2 位、5 位二进制位。

2.3、特殊说明

  • 位域成员变量的访问速度并不一定比一般的成员变量快,因为有些编译器不支持单个位域的直接操作,需要先将整个位域读入CPU寄存器中,然后进行各种“位运算”操作。

  • 对于位域成员变量,不能取地址运算符(&)对其进行取址操作,因为它们并不按字节对齐,取址操作会得到一个编译错误。


3、混合使用的代码及解释

union 
{u16 wDevSta ;struct{unsigned char bRegister:1;unsigned char bONLine:1;unsigned char bReConnect:1;unsigned char bLowBAT:1;unsigned char bConfig:1;unsigned char b5:1;unsigned char b6:1;unsigned char b7:1;unsigned char b8:1;unsigned char b9:1;unsigned char b10:1;unsigned char b11:1;unsigned char b12:1;unsigned char b13:1;unsigned char b14:1;unsigned char b15:1;} ch;
}g_DevStatus;

定义了一个union类型的变量g_DevStatus,包含了一个u16 wDevSta和一个嵌套的结构体成员ch。

在结构体成员ch中,有16个位域变量,每个位域变量都只占用1位,分别用来表示设备的不同状态,取值为0或1。

例如,如果要将设备的bONLine状态设置为1,可以使用以下2种代码:

g_DevStatus.ch.bONLine = 1;
g_DevStatus.wDevSta |= (1<<1);
http://www.tj-hxxt.cn/news/54964.html

相关文章:

  • 莆田 做网站的公司sem广告
  • 在哪个网站可以做任务赚钱的互联网运营培训课程
  • 做网站 前台和后台西安高端网站建设
  • 青岛网站开发黑马教育培训官网
  • 网站开发需要学shenme24小时网站建设
  • 海外媒体推广上海关键词排名优化怎样
  • 济宁公司做网站网络营销的营销理念
  • 找人做的网站怎么看ftp搜索引擎优化的概念
  • 优酷如何做收费视频网站seo学校培训班
  • 做一个答疑网站提高网站排名的软件
  • 直播:广东防疫新闻发布会整站优化seo平台
  • 网站建设不用虚拟主机优化营商环境条例心得体会
  • 长沙优化网站服务高端网站建设企业
  • 无锡网站推广电话微信软文范例大全100
  • ih5做的网站怎么上传网络运营推广怎么做
  • 建站推广哪里有建站新闻资讯网络营销运营
  • 织梦cms怎么搭建网站简述网站内容如何优化
  • 建设建网站网络舆情监测系统软件
  • 网站添加设置着陆页网站推广优化排名公司
  • 室内设计导航哈尔滨网站优化
  • wordpress 免费 模板下载地址优化seo软件
  • 太平洋建设集团有限公司网站网店推广平台
  • 做产品推广得网站登录百度账号注册
  • 遂宁网站seo信息流广告有哪些投放平台
  • 做海淘的网站做海淘的网站有哪些东莞网站建设seo
  • wordpress 文字主题上海seo优化公司bwyseo
  • 泉州学校网站开发百度账号24小时人工电话
  • 试述网站开发的流程最近实时热点新闻事件
  • 主流的网站开发框架谷歌浏览器官方app下载
  • html5 开发网站seo 工具推荐