巧用联合体
void test(void) { union char2int{ unsigned char str[4]; unsigned int data; } tmp; tmp.str[0] = '1'; tmp.str[1] = '2'; tmp.str[2] = '3'; tmp.str[3] = '4'; printf("%x", tmp.data); }
运行上面代码,可以看到 0x34333231,这些就是1234的ASCII。
当我们解析字符串协议时用起来非常方便。
同时反过来使用拼接字符串协议也非常方便。