使用fgets存储字符指针程序崩溃

Using fgets to store character pointer program crashes

char *p;
fgets(p,10,stdin);

为什么这会导致我的程序崩溃?好像我不能在 Fgets 中使用 char 指针,但我可以使用数组,所以它没有意义。

Seems like I can't use char pointers in Fgets but I can use arrays

不,您可以同时使用两者,只要在将指针传递给 fgets() 之前为指针分配内存即可。

在这种情况下,使用指针,

 char *p;

p 被初始化并指向某个无效的任意内存位置。您需要先为 p 分配适当的内存,然后才能 read/write to/from p 的内存位置指针。