3
我不確定這是否可以編譯相關,但我使用的編譯器是IAR 7.10.3。初始化一個匿名結構的位域
我有一個結構類似如下:
struct A {
struct {
uint8_t x:1;
uint8_t y:2;
uint8_t z:5;
} b;
};
並初始化它想:
struct A a = {
.b = 0xFF,
};
現在,當我看到在內存中的結構,只有X位將被設置爲「1 ',其餘的將是零。
這是如何按照C標準行事的?
最近問的問題與[this](http://stackoverflow.com/questions/24936022/designated-initializers-and-compound-literals-for-struct-in-c)類似。 –
@他正在使用'IAR',並且位字段類型可以是實現定義的類型。 – ouah
@this c99說'位字段應該是_Bool的合格或不合格版本,int,unsigned int或其他實現定義的類型。 –