IN:
struct foo { unsigned bar : 2; };
What does ": 2" do?
It announces a bit field . A number indicates the size of this element in bits.