Возможные Дубликаты:
What does ‘: number’ after a struct field mean?
What does ‘unsigned temp:3’ meansИспользование: оператора в C
Привет всем, я ненавижу, чтобы задать этот тип вопроса, но это действительно давало мне покоя, так Я спрошу:
Какова функция оператора в коде ниже?
#include <stdio.h>
struct microFields
{
unsigned int addr:9;
unsigned int cond:2;
unsigned int wr:1;
unsigned int rd:1;
unsigned int mar:1;
unsigned int alu:3;
unsigned int b:5;
unsigned int a:5;
unsigned int c:5;
};
union micro
{
unsigned int microCode;
microFields code;
};
int main(int argc, char* argv[])
{
micro test;
return 0;
}
Если кто-то заботится вообще, я вытащил этот код по ссылке ниже: http://www.cplusplus.com/forum/beginner/15843/
Я действительно хотел бы знать, потому что я знаю, что я видел это раньше где-то, и я хочу, чтобы понять это потому что, когда я снова это увижу.
Спасибо!
Обратите внимание, что расположение битовых полей определяется реализацией, поэтому результат доступа битовых полей в междунар через объединение не определено. Не делайте этого в производственном коде, используйте бит-маски и вместо этого переходите. – starblue