C中奇怪的内存分配代码,它是如何工作的?

Muh*_*edy 0 c memory-management

这段代码是如何工作的???

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int *addr = (int*) 0x4888d0;
    *addr = 30;
    printf("%i %p\n", *addr, addr);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Fre*_*Foo 6

它的工作原理是假设0x4888d0是一个至少sizeof(int)字节的可写存储块的地址,它不会干扰printfC运行时系统的功能.

或者说,它不起作用,至少不在我的系统上(Segmentation fault).