c struct bitfield (结构体位域)

两篇非常棒的文章。

1. 再谈c语言位域

2. Section bitfields

简要总结一下:

C99 guarentees that bit-fields will be packed as tightly as possible, provided they don’t cross storage unit boundaries

Note that the base type of a bit field is interpreted for signedness but not necessarily for size. It is up to implementors whether "short flip:1" or "long flip:1" are supported, and whether those base types change the size of the storage unit the field is packed into.就是说int a:2;并不是说就会分配int大小的空间,可能只分配可以容纳2bits的空间。

大小端不仅影响byte order,也影响bit order。

对于一个byte,定义它的各个位为:b7 b6 b5 b4 b3 b2 b1 b0. 其中 b7 是起始地址开始的地方。

发布了34 篇原创文章 · 获赞 0 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/hfyinsdu/article/details/105146870