多字符字符表示
这种表达竟然是合法的,是 ISO 9899:2011 C 的标准语法。但因为可移植性的原因,并不被推荐使用。
StackOverFlow的这篇回答说明了 multi-character character 字符常量的意义。
比如:
short c = 'bc';
short c = '\x62\x63';
在内存里依次为 0x63 0x62; 按照小端顺序从右到左的在内存中存储。
如果是:
char c = 'abcdefg';
内存中 abcdefg 程序不会写到内存中,编译器只会将 'g' 赋值给c。
利用这种方式可以写一个很精简的大小端测试程序。
char c= 'x01x02';
bool big_endian = ( (c=='x01')?(1):(0) );