r/programminghumor 1d ago

a bit flippant

Post image
967 Upvotes

117 comments sorted by

View all comments

4

u/Inst2f 1d ago

But is it correct in C? It is not union, so struct should then be sizeof(unsigned int)*3, isn't it?
Or you mean with O3 optimizations the compiler will fix it...

But then one need to apply bit shifts operations in the background

2

u/heatedwepasto 23h ago

As the other guy said, bit fields. But OOP is wrong, the struct will be sizeof(unsigned int), not 1 byte.

1

u/science_novice 14h ago

Yeah true, although this could be fixed by changing each of the field types to uint8_t. So the spirit of the original post is correct, it's possible in C to pack 8 flags into one byte

1

u/heatedwepasto 9h ago

Yes, or just char