Bit fields allow integer members of a structure to be stored in memory spaces smaller than normally allowed by the compiler. A bit field is declared by specifying the number of bits after the member name, separated by a colon. Bit fields are packed together efficiently in memory and accessed like regular structure members. They are interpreted as unsigned integers and only the declared number of lower bits can be assigned or accessed.