Pointers 为什么这段代码会产生seg故障?
我想知道背景中发生了什么导致了seg故障Pointers 为什么这段代码会产生seg故障?,pointers,segmentation-fault,Pointers,Segmentation Fault,我想知道背景中发生了什么导致了seg故障 char *ptr; fgets(ptr, 200, stdin); fprintf(stderr, "Ptr = %s\n", ptr); 感谢您从未为fgets分配写入空间。因此变量ptr未初始化,取消引用它会导致未定义的行为。发生segfault是因为该值恰好指向不可用的内存 char *ptr = malloc(200); Ptr是一个未初始化(可以是任何形式)的变量。因此fgets将数据转储到未知位置。轰
char *ptr;
fgets(ptr, 200, stdin);
fprintf(stderr, "Ptr = %s\n", ptr);
感谢您从未为
fgets
分配写入空间。因此变量ptr
未初始化,取消引用它会导致未定义的行为。发生segfault是因为该值恰好指向不可用的内存
char *ptr = malloc(200);
Ptr是一个未初始化(可以是任何形式)的变量。因此fgets将数据转储到未知位置。轰