c - 在 C 中没有得到 NULL 指针错误

标签 c pointers

我有意尝试在 C 中获取 NULL 指针,但我没有做到。这是我编写的代码:

int main(void) {
  int x; //UNINITIALIZED so that it will represent "nothing"
  int *null_test = &x;
  printf("This should be null   %p \n", null_test);
}

但它给了我一个地址:0x7fd96c300020,它似乎不像我希望的那样是 NULL

为什么?我什至没有初始化x但仍然不为空?

最佳答案

之后

int *null_test = &x;

null_test 包含 x 的地址。此地址独立于 x 的内容,即使 x 从未被初始化。

关于c - 在 C 中没有得到 NULL 指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41671116/

相关文章:

c++ - 在 Windows 上重建 hhvm

c - 使用c中的线程乘法矩阵

取消循环中的 pthread

c++ - 声明对指针指向值的引用的开销

c++ - 继承和派生属性在 C++ 中消失

c - C 编程中的返回值

C - If/Else 和指针返回错误的字符串

c - 为什么 C 的 strcpy 对于双索引数组会失败?

c - 如何在 c 中的未知类型数组中查找最大元素(使用指向函数的指针)

c++ - 被释放的指针未分配给指针赋值