用 c 语言可以吗?
int *i;
// do stuff
i = NULL;
i = (int *) some_func();
// do stuff
if (i != NULL)
free(i);
i = NULL;
// do stuff
i = (int *) some_func();
// do stuff
if (i != NULL)
free(i);
i = NULL;
最佳答案
1) 这取决于您与 some_func() 的契约(Contract)。如果 some_func 希望您对其返回值调用 free(),那么您的代码就可以了。
2) 在 C 语言中重用变量是可以的,虽然不是非常优雅。通常最好为不同的目的使用不同的变量。从性能和内存使用的角度来看,这完全是一回事。
关于c 自由提问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200466/