我主要是一名 Java 人员,最近从事一些涉及 C 的项目,所以如果这是一个基本的 C 问题,请多多包涵。
所以在我的 main 里面我有一个 while 循环,我每次迭代都声明一个变量。
int main()
{
int done = 0;
while(!done)
{
char input[1024];
scanf("%s", input);
//parse the input string
...
}
}
现在,由于输入变量每次都会根据用户想要的内容而改变,因此我每次都必须使用“新”变量。但是,我认为上述声明最终会导致内存泄漏(或者会吗?)。我想知道 gcc 是否负责垃圾收集。
有没有更好的方法而不在每次迭代后分配和释放?