char *p;
fgets(p,10,stdin);
为什么这会导致程序崩溃?好像我不能在Fgets中使用char指针,但我可以使用数组,所以没有意义。
答案 0 :(得分:2)
好像我不能在Fgets中使用char指针,但我可以使用数组
不,你可以使用两者,只要在将指针传递给fgets()
之前为指针分配内存。
在这种情况下,使用指针
char *p;
p
是单元化的,并指向一些无效的任意内存位置。在通过p
向/从内存位置指针读取/写入内容之前,需要为p
分配适当的内存。