方法 3:位段结合指针
可以使用位段来定义结构体,并使用指针检查位段的排列顺序,类似于前述的联合体方法。
示例代码:
- #include <stdio.h>
- struct BitField {
- unsigned int a : 8;
- unsigned int b : 8;
- unsigned int c : 8;
- unsigned int d : 8;
- };
- int main() {
- struct BitField test;
- test.a = 0x12;
- test.b = 0x34;
- test.c = 0x56;
- test.d = 0x78;
- unsigned char *bytePointer = (unsigned char *)&test;
- // 打印结构体的字节顺序
- printf("Byte order: %02x %02x %02x %02x\n", bytePointer[0], bytePointer[1], bytePointer[2], bytePointer[3]);
- return 0;
- }
|