结构体中使用冒号对位的操作
1、结构体中使用冒号(:)表示位域,表示占用一个字节的多少位,是对位的操作;
2、因为是对一个字节中位的操作,所以位定义类型都是一个类型;
3、8位示例://因为是8位,所以用的是uint8_t,8位刚好全用完了。
typedef struct {
uint8_t a : 1;
uint8_t b: 1;
uint8_t c: 1;
uint8_t d: 1;
uint8_t e: 1;
uint8_t f: 1;
uint8_t g: 1;
uint8_t h: 1;
}mybits;
32位示例://因为是32位的,所以用的是uint32_t,位可以没有用完;
typedef struct {
uint32_t a : 1;
uint32_t b: 1;
uint32_t c: 1;
uint32_t d: 1;
uint32_t e: 1;
uint32_t f: 1;
uint32_t g: 1;
uint32_t h: 1;
}mybits;
详细可参考一下链接说明:
https://blog.csdn.net/modi000/article/details/103999484?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159054496219726869063706%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=159054496219726869063706&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v25-1-103999484.nonecase&utm_term=%E7%BB%93%E6%9E%84%E4%BD%93
结构体中使用冒号对位的操作相关推荐
- C语言结构体中的冒号用法
结构体中的冒号表示位域. 位域出现的原因是由于某些信息的存储表示只需要几个bit位就可以表示而不需要一个完整的字节,同时也是为了节省存储空间和方便处理. 其表示形式为: struct 位域结构名 { ...
- c语言的结构体能存放函数吗,在C语言结构体中添加成员函数
我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...
- C语言中利用宏,实现一个整数的奇数位和偶数位交换,以及计算结构体中某变量相对于首地址的偏移
C语言中的自定义宏 自定义宏,令其实现所需功能 1.写一个宏,可以将一个整数字的奇数位和偶数位交换. 2.写一个宏,计算结构体中某变量相对于首地址的偏移. 具体思路1: 首先取出当前数的奇数部分和偶数 ...
- c语言 结构体 占位符,深入理解结构体中占位符的用法
深入理解结构体中占位符的用法 复制代码 代码如下: typedef union { struct x{ char a1 : 2; char b1 : 3; char c1 : 3; }x1; char ...
- 结构体中占位符的用法
typedef union {struct x{char a1 : 2;char b1 : 3;char c1 : 3;}x1;char c; }my_un; int main() {my_un a; ...
- C语言结构体中__packed 和位段的理解!
C语言中__packed 和位段的理解 一:__packed typedef __packed struct struct常用在数据结构中.而struct的字节对齐方式对于嵌入式底层的程序员来讲是必须 ...
- 获取结构体中变量的偏移量
C/C++获取结构体中变量的偏移量 1.某些特殊需求下,我们需要知道某个变量在其结构体中的偏移位置. 通常的做法就是定义一个宏变量,如下: #define OFFSET(structure, memb ...
- linux结构体数组的定义数组,task_struct结构体中的run_list和array域
他们的定义分别是: struct list_head run_list; prio_array_t *array; 其中,想必struct list_head这个结构体大家很熟悉了 struct li ...
- 结构体中元素引用—— “.“ 与 “->“
自从了解结构体这个类型后,相信有不少人和我一样对于 "." 和 "->"何时使用哪个来引用目标结构体中元素感到混淆,今天还是把他写下来,以后再忘了自己也可 ...
最新文章
- 运维人员处理云服务器故障的方法总结
- hello my first blog
- CSS Grid布局(2)
- 股市三大定律是什么?
- 基于依存句法分析的资金账户交易画像
- 【大话传送网-学习笔记】传送网与GSM网络
- Android packageManager.setComponentEnabledSetting()和setApplicationEnabledSetting()方法介绍
- 恩尼格玛机(字母转换,水题)
- Java中的Enum的简单使用
- jetson nano笔记
- 域账户登录本地计算机用户名,如何实现域账户domain/user登陆时自动添加到本地计算机poweruser用户组...
- [BZOJ2121]-字符串游戏-字符串dp
- 安装插件解决eclipse没有JS代码提示的问题
- discuz模板文件列表
- 国内首发|软件众包发展指数报告
- HEIC图片格式如何快速转换呢?
- maya 多边形uv批量传递工具
- 华为网络工程师的考试费用和考试资格是什么?
- cAdvisor使用
- 2019校园招聘 ——百度、京东、苏宁等产品经理面试经验总结