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

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

最佳回答

开朗的裙子

健壮的羽毛

2026-06-04 17:59:39

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

最新回答共有2条回答

  • 仁爱的钢笔
    回复
    2026-06-04 17:59:39

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

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

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