空指针是如何实现的?

xil*_*pex 1 c assembly pointers x86-64 void-pointers

我想知道 void 指针是如何实现的。我试图用 x86-64 在 Godbolt 上找到它(你可以在这里看到它),但它没有透露任何信息。空指针是如何实现的?

编辑: 这是我使用的代码:

int main() {
    int volatile y = 123;
    void* volatile x = &y;
}
Run Code Online (Sandbox Code Playgroud)

我想在这里看到的只是它的x样子。我放置了 volatile 以便 gcc 不会将其作为死代码消除。

dbu*_*ush 5

一般来说,x86-64 处理器上的所有指针都只是包含一些内存地址的 8 字节值。只有编译器关心他们指向什么。