您可能想要做类似于以下内容的事情:struct { . . . unsigned int fieldof3bits : 3; . . . } newdatatypename; 在这种情况下,fieldof3bits 在结构体中占用了 3 位(根据您定义的其他内容,结构体的大小可能会有所变化)。这种用法被称为位域。来自维基百科:位域是计算机编程中用于存储多个逻辑相邻位的术语,其中可以寻址每组位和单个位。位域最常用于表示已知的固定位宽度的整数类型。
似乎您正在询问位域https://en.wikipedia.org/wiki/Bit_field。请注意,对于某些情况,只使用char或unsigned char可能更安全(编译器特定,物理内存布局等)。祝编码愉快!
char
不一定总是8位。 - Quentin