运行时,我知道这是可能的初始化字符*在用户输入
char text[A_BIG_NUMBER];
printf("Enter your name");
scanf("%s",text);
但有没有办法做到这一点? (不使用字符数组作为备用)
char* text;
printf("Enter your name");
scanf("%s",text);
,而第一种方式是容易的,但如果A_BIG_NUMBER是不是大到足以容纳用户输入的话就会产生问题的代码的其余部分字符串,对其他如果我们使用大量的手,那么它会浪费内存!
感谢
编辑:对不起,我错了标签。我只问C。
如果您可以假设POSIX,我建议'为ssize_t函数getline(字符** lineptr,为size_t * N,FILE *流); '。 –