组成整数的二进制表示

Alc*_*ott 3 c binary

这是事物,1024 = 0x400我假设它的二进制表示(little endian)是\\x00\\x4\\x00\\x00.我尝试做这样的事情,

int main()
{
    const char *str = "\\x00\\x4\\x00\\x00";
    const int *p = (const int *)str;
    printf("%d\n", *p);
}
Run Code Online (Sandbox Code Playgroud)

但为什么上面的代码不能给我1024

Mic*_*ker 8

因为你逃脱了\.Unescape他们:

const char *str = "\x00\x4\x00\x00";
Run Code Online (Sandbox Code Playgroud)