代码之家  ›  专栏  ›  技术社区  ›  Jayesh

指针指向未初始化的变量

  •  4
  • Jayesh  · 技术社区  · 7 年前

    在以下程序中, ptr 未初始化 变量 x ptr 10 ptr

    #include <stdio.h>
    
    int main()
    {
        int *ptr;
        int x;
    
        ptr = &x;
        *ptr = 10;
    
        printf(" x = %d\n", x);
        printf(" *ptr = %d\n", *ptr);
    }
    

    二者都 ptr 打印正确的值。但是,我怀疑,

    3 回复  |  直到 7 年前
        1
  •  13
  •   StoryTeller - Unslander Monica    7 年前

    是的,它是。将有效值分配给 ptr 然后使用间接方法将有效值分配给 x .

    变量的地址,如

        2
  •  2
  •   WorkaroundNewbie azharuddin irfani    7 年前

    为你。

    ptr = &x; *ptr = 10; 代码有效意味着

    x =10

        3
  •  1
  •   Codor    7 年前

    据我所知,它是定义的行为,因为在写入之前不需要初始化内存。