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

时间:2016-03-27 20:32:47

标签: c arrays pointers fgets

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

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

1 个答案:

答案 0 :(得分:2)

  

好像我不能在Fgets中使用char指针,但我可以使用数组

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

在这种情况下,使用指针

 char *p;

p是单元化的,并指向一些无效的任意内存位置。在通过p向/从内存位置指针读取/写入内容之前,需要为p分配适当的内存。