在使用非全零作为空指针内部表达的机器上,NULL 是如何定义的?

学习 时间:2026-04-04 18:41:50 阅读:6964
在使用非全零作为空指针内部表达的机器上,NULL 是如何定义的?

最佳回答

欢呼的背包

可靠的砖头

2026-04-04 18:41:50

跟其它机器一样: 定义为 0 (或某种形式的 0;)。 当程序员请求一个空指针时, 无论写 ``0" 还是 ``NULL", 都是有编译器来生成适合机器的空指针的二进制表达形式。因此, 在空指针的内部表达不为 0 的机器上定义 NULL 为 0 跟在其它机器上一样合法:编译器在指针上下文看到的未加修饰的 0 都会被生成正确的空指针。

最新回答共有2条回答

  • 复杂的鼠标
    回复
    2026-04-04 18:41:50

    跟其它机器一样: 定义为 0 (或某种形式的 0;)。 当程序员请求一个空指针时, 无论写 ``0" 还是 ``NULL", 都是有编译器来生成适合机器的空指针的二进制表达形式。因此, 在空指针的内部表达不为 0 的机器上定义 NULL 为 0 跟在其它机器上一样合法:编译器在指针上下文看到的未加修饰的 0 都会被生成正确的空指针。

上一篇 求排比句50个每个不少于50字

下一篇 溶解度和溶解性有什么不同吗