How about an array of unsigned char? C "usually" uses 8 bits for char and unsigned char types. Or if you are using a C99-compliant compiler, you can #include <stdint.h> and make an array of type uint8_t. As you said, every number will be stored as binary anyway.
For example, 01010010 is 82 decimal, so
Code:
#include <stdio.h>
int main() {
int i;
unsigned char ch, temp, arry1[10];
arry1[0] = 82;
temp = arry1[0];
for( i = 0; i < 8; i++ ) {
if( temp & 128 ) {
ch = '1';
} else ch = '0';
printf( "%c\n", ch );
temp <<= 1;
}
return 0;
}
outputs 01010010.