c++ - "unsigned :(number)" and Unions -


this question has answer here:

i dont know whats mean "unsigned :5",

for example if create these:

int a:8; unsigned b:8; 

is b integer?

and question:

in union these values:

union    { long quad;       long duble;       char byte;        struct {       unsigned :16;     unsigned :16;      unsigned :16;      unsigned :15;       unsigned bit1:1;        } bits;    }pes;   pes.quad=0x12345678; pes.duble=0xabcd; pes.byte=0xef; pes.bits.bit1=1; 

why in adress is: ef ab 00 00 cc cc cc cc

i thought ef ab 34 12 00 00 00 80

the : introduces bit field, value in struct of particular logical type actual size measured in bits. useful defining structures access individual bits of value (e.g. extract flag bits word).

for example, defining unsigned b:5; unsigned c:3; make b , c share same byte in memory, b 5 of bits , c other 3 bits.


Comments

Popular posts from this blog

gcc - MinGW's ld cannot perform PE operations on non PE output file -

timeout - Handshake_timeout on RabbitMQ using python and pika from remote vm -

c# - Search and Add Comment with OpenXML for Word -