考虑以下功能:
void free_or_not ( int count ) {
int i ;
int *ip = malloc ( count * sizeof ( int ) ) ;
for ( i = 0 ; i < count ; i ++ )
ip[i] = i ;
for ( i = 0 ; i < count ; i ++ )
printf ( "%d\n" , ip[i] ) ;
free ( ip ) ;
}
如果我不在
free()
内部调用free_or_not()
,这会导致内存泄漏吗? 最佳答案
是的,当您的函数完成时,您将丢失指向分配给free()的内存的指针。