私は整数の次の構造体を持っています(32ビット環境):
struct rgb {
int r;
int g;
int b;
};
rgbコンポーネント値(0〜255)は8ビット(1バイト)しか表現する必要がないため、1バイトのメモリのみを使用し、各コンポーネントに3バイトを未使用のままにしているというのは正しいですか?
また、代わりに次のことを行った場合:
struct rgb{
unsigned int r:8;
unsigned int g:8;
unsigned int b:8;
};
私が上で言ったことが正しいと仮定すると、この新しい構造体を使用すると、未使用のバイト数が1に減りますか?