我有以下整数结构(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 吗?