Freeing a pointer

Plfgoa's Avatar, Join Date: Jun 2008
Newbie Member
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
gunshot08's Avatar, Join Date: Jun 2008
Light Poster
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);
}
Plfgoa's Avatar, Join Date: Jun 2008
Newbie Member
Hi,

Thanks for the response . Just wanted to know if one uses free() after a return statement will free() ever get called ?

Thanks.

-PLF