i am working with bit fields in order to compress a large amount of information into a smaller amount to better fit in memory for an embedded system. i have never worked with bit fields before, though. the main reason for doing this is all the data is binary, and i find it wasteful to use a full byte in memory for a boolean value (i doubt i'm the only one), though i see the use of it for general purposes (like addressing). my question is whether or not it is legal to make an array inside a struct of bitfields, to make them accessable from a loop, and if it is legal, how is this achieved. consider the following structure :

typedef struct {
bool value[39];
} input;

is there a way to make the above array but with each boolean value being a single bit? i am unsure, since i realize pointers aren't allowed, but perhaps there is some way to do it still that i don't know about. (i have tried putting a :1 after the bool definition; of course it reaffirms that pointers aren't allowed)

--paul