我正在尝试学习 C 中的内存,想知道以下函数是否存在内存泄漏:
void someFunction(void)
{
unsigned char i;
for( i=0; i < upperbound; i++ ){
// Do Something
}
}
我是否需要为 unsigned char i
取消分配?
最佳答案
该代码中没有内存泄漏。局部变量分配在堆栈上,并在函数退出时自动释放。您只需释放使用 malloc
或 realloc
等函数分配的数据。
请注意,某些库函数返回动态分配的数据,您可能需要在完成后释放它。如果函数返回一个指针,或修改您作为参数提供的指针参数,您必须检查文档以确定是否有必要这样做。
关于c - 代码中的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21442467/