ARRAY of BITS in C

From the example on the page you linked:

struct taxonomy {
     int kingdom : 12;
     int phylum : 6;
     int genus : 2;
     };

The individual bits cannot be accessed (as far as I know) using a variable. So you would have to use each name. For 8 bits you would have 8 names. So I don't think this has got you much further than a simple function that bit shifts and tests.