c - 如何设置指向第零个位置的指针?

标签 c

据我所知,代码中所有出现的 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/

相关文章:

C - 增加一个字符内的数字

c - 可以使传递的指针为空的函数

c - 自由(): no double free detected

c - 为什么需要左值作为增量操作数错误?

c - jack 中的 "32 bit float mono audio"

c - 在 while 循环中使用常量 (c)

c - 有没有办法知道目标文件中导出了哪些符号?

c - 向数组添加零填充

c - 有没有办法在 C 中多次运行 execvp() 而无需递归?

c - 如何使用 strtok 从文本文件打印到控制台单个字符?