据我所知,代码中所有出现的 NULL 在预处理阶段都被替换为 0。然后在编译期间,指针上下文中所有出现的 0 都被替换为该机器上代表 NULL 的适当值。因此,编译器必须知道该特定机器的 NULL 值。
现在,这意味着每当我在指针上下文中使用 0 时,它都会被该机器上代表 NULL 的适当值替换,该值可能是也可能不是 0。那么,我如何告诉编译器我实际上是指 0 而不是 NULL ,当我在指针上下文中使用 0 时?
很抱歉描述太长了。如果我错了,请纠正我
最佳答案
一种方法是将全零存储到您的指针中:
void* zero;
memset(&zero, 0, sizeof(zero));
关于c - 如何设置指向第零个位置的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2413488/