Hi,
If a function is returning a pointer and if that pointer was returned by a malloc function , how do I free that pointer ? If I run valgrind , it will show memory leak since "k" was not freed. How do I free "k" in following ?
Example:
int * sum(int a, int b)
{
int sum;
int *k=malloc(sizeof(int));
sum=a+b;
k=∑
return k;
}
Thank you.
-PLF
|
Light Poster
|
|
| 11Jun2008,19:38 | #2 |
|
you use the free() function
int * sum(int a, int b) { int sum; int *k=malloc(sizeof(int)); sum=a+b; k=∑ return k; free(k); } |
|
Newbie Member
|
|
| 11Jun2008,20:10 | #3 |
|
Hi,
Thanks for the response . Just wanted to know if one uses free() after a return statement will free() ever get called ? Thanks. -PLF |
