使用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
的内存位置指针。
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
的内存位置指针。