常见的字符串有两种形式:
const char *szTmp1 = "hello";
const char *szTmp2 = "\x86\x88";
这两种形式的字符串有什么区别呢,在gdb下可以直观的看出来
(gdb) x/16xb szTmp1
0x8048500: 0x68 0x65 0x6c 0x6c 0x6f 0x00 0x86 0x88
0x8048508: 0x00 0x73 0x7a 0x54 0x6d 0x70 0x31 0x20
即”hello”在内存中表示为0x68 0x65 0x6c 0x6c 0x6f 0x00
而”\x86\x88”内部表示为0x86 0x88 0x00