当我们将零赋给指针时会发生什么?

问题描述 投票:0回答:1

在 Paul 和 Harvey Deitel 所著的《C How to Program, 8/e》一书中,在“初始化和为指针赋值”一节中写道:“当分配 0 时,它首先转换为适当类型的指针. 值 0 是唯一可以直接分配给指针变量的整数值。”这个答案里也写了。

他们所说的“it”是什么意思?将零转换为适当类型的指针意味着什么?值可以进行类型转换吗?

c pointers
1个回答
1
投票
它只是意味着 C 编译器必须处理文字整数值

0

 来指示 NULL 指针。

int * x = 0;

int * x = NULL;
...保证是等效的,即使在“不寻常的硬件”上,其中 NULL 指针指向的地址实际上不是地址零。

© www.soinside.com 2019 - 2024. All rights reserved.