社区
C语言
帖子详情
关于结构体定义的愚蠢问题
wendy_welcom
2007-09-21 03:31:39
typedef struct CTRL {
UCHAR exst_cd :2;
UCHAR ackn_cd :1;
UCHAR state_cd :3;
USINT slot_no;
USINT send_evt;
}CTRL0
" UCHAR exst_cd :2; " 以前没见过结构体里面的成员带冒号和数值的, 能解释一下这是什么么,看不懂了。
谢谢
...全文
173
6
打赏
收藏
关于结构体定义的愚蠢问题
typedef struct CTRL { UCHAR exst_cd :2; UCHAR ackn_cd :1; UCHAR state_cd :3; USINT slot_no; USINT send_evt; }CTRL0 " UCHAR exst_cd :2; " 以前没见过结构体里面的成员带冒号和数值的, 能解释一下这是什么么,看不懂了。 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wendy_welcom
2007-09-24
打赏
举报
回复
谢谢 Treazy(活着)
pbdwadr
2007-09-22
打赏
举报
回复
从来没见过,更没用过。。。
Treazy
2007-09-22
打赏
举报
回复
typedef struct CTRL {
UCHAR exst_cd :2;
UCHAR ackn_cd :1;
UCHAR state_cd :3;
USINT slot_no;
USINT send_evt;
}CTRL0 ;
这是位段的定义方式,具体可以参考任何一本C语言的书,都有比较详细的讲解。
简单的说,UCHAR代表 结构成员变量的类型,而exst_cd,ackn_cd等是此成员在这个类型中所占的位数,上面的类型是uchar,是1个字节8位,而exst_cd占最低2位,ackn_cd占1位,state_cd 占3位等等。
位段的定义还有一些比较细节的地方,如果楼主想了解的话可以看一下书!
wendy_welcom
2007-09-21
打赏
举报
回复
系统分配空间时,不是按uchar类型开辟一个8bit的空间存exst_ce么?
awperpvip
2007-09-21
打赏
举报
回复
UCHAR exst_cd :2;
exst_cd 占2bit
xugang_2001
2007-09-21
打赏
举报
回复
意思是:声明exst_cd在内存中只占2个bit(本来是8个bit)
C/C++程序员面试指南.杨国祥(带详细书签).pdf
面试题24:
结构
体
内存对齐
问题
3.6 C和C++的区别 面试题25:关键字static在C和C++中的区别 面试题26:C语言的
结构
体
和C++的有什么区别 面试题27:C中的malloc和C++中的new有什么区别 面试题28:C++的引用和C语言的...
matlab simulink自
定义
结构
体
变量并在函数模块中应用
前段时间“硬着头皮”给一个simulink模型添加了一个函数模块,函数的输出是4个
结构
体
变量,因此涉及到在simulink中自
定义
结构
体
类型的变量,以及显示输出的
结构
体
变量。 完成这一任务的过程还是费了一些劲的,在...
这个C语言技巧,刷新了我对
结构
体
的认知!
这个C语言技巧,刷新了我对
结构
体
的认知!
51单片机避坑指南
但位类型不能用在数组和
结构
体
中。 5、其他不频繁用到和对运算速度要求不高的变量都放到xdata区。 7、当使用到指针时,要指定指针指向的内存类型。在c51中未
定义
指向内存类型的通用指针占用3个字节;而指定指向data区...
C语言
定义
结构
体
成员不能为自身的原因
编译器编译时需要确定
结构
体
占用的空间大小,
结构
体
中若有成员变量
定义
为自身
结构
体
的话编译器无法确定大小,但如果成员变量
定义
的自身
结构
体
的指针,则可以通过编译,因为指针大小是给定的。首先遇到的场景为 写BFS...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章