看看下面的代码
char *str;
gets(str); // or fgets
puts(str);
它是 C++ 中的示例程序。实际上我觉得它不是一种好的编码方式,因为我们没有为 char 指针分配内存位置str
。书上说char array[10]
有长度限制而char pointer str
没有固定长度,我们可以尽可能多地输入chars
。但是我相信如果不为其分配内存地址,就永远无法使用指针,正如我在 C 中学到的那样。
我认为这一定是正确的做法,
char a[100];
char *str=a;
fgets(a,100,stdin);
puts(a);
请让我确定。在不为其分配变量内存地址的情况下,这是一种编码指针的好方法吗?或者最好的方法是什么。让我知道如果我们使用指针而不分配内存地址会发生什么。谢谢。