我正在浏览一个windows设备驱动程序,看到了如下结构代码:
struct driver1
{
UINT64 Readable : 1;
UINT64 Writable : 1;
UINT64 Executable : 1;
UINT64 Control : 3;
UINT64 Status : 1;
UINT64 Reserved : 51;
UINT64 Available1 : 5;
UINT64 IsMapped : 1;
};
每个
UINT64
代表一个位吗?冒号代表位吗? 最佳答案
这意味着Readable
、Writable
和Executable
各占用一点,Control
占用3,Reserved
51等等。
有关更多信息,请参阅http://publications.gbdirect.co.uk/c_book/chapter6/bitfields.html。
uint64仅仅意味着整个位字段将在64位无符号整数内。
关于c - 有关结构的基本问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5082256/