关于位域的问题,想搞个数组,不知道怎么弄

wxbfly 2008-04-11 12:10:24
想搞个数组,其中每个元素只占几个bit,但又不想自己定位,不知道怎么弄,是否可以定义几个bit的类型
比如:

typedef char:2 tBlockNo;
tBlockNo array[100] = {0};


请各位指导
...全文
1605 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vagrantfish 2008-04-11
  • 打赏
  • 举报
回复
记得不要跨字节
arong1234 2008-04-11
  • 打赏
  • 举报
回复
位域是只能用于结构中得,其目的是为了牺牲时间来节省空间,这在早年内存空间少时有意义,现在一般都是牺牲空间来节省时间,因此使用位域不是一个好主意。

而且,即使你只定义2bit得位域,如果没有其他在同一个结构得位域与它共享空间,你除了增加处理开销外,空间一点都不会省,可以说弊大于利
rushman 2008-04-11
  • 打赏
  • 举报
回复
> 想搞个数组,其中每个元素只占几个bit,但又不想自己定位,不知道怎么弄,是否可以定义几个bit的类型
> 比如:
> typedef char:2 tBlockNo;
> tBlockNo array[100] = {0};
或者牺牲存储空间,或者还是自己进行定位吧……
野男孩 2008-04-11
  • 打赏
  • 举报
回复
位域不能你这样单独用。
HelloDan 2008-04-11
  • 打赏
  • 举报
回复
http://blog.csdn.net/birdzb/archive/2007/10/12/1821843.aspx

70,019

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧