我正在尝试用C学习内存,并想知道以下函数中是否存在内存泄漏:
void someFunction(void)
{
unsigned char i;
for( i=0; i < upperbound; i++ ){
// Do Something
}
}
我是否需要ungotoc for unsigned char i
?
答案 0 :(得分:4)
该代码中没有内存泄漏。局部变量在堆栈上分配,并在函数退出时自动解除分配。您只需释放分配了malloc
或realloc
等功能的数据。
请注意,某些库函数会返回动态分配的数据,并且您可能需要在完成后取消分配它。如果函数返回指针,或修改您提供的指针参数作为参数,则必须检查文档以确定是否有必要。