Freeing a pointer

Discussion in 'C' started by Plfgoa, Jun 11, 2008.

  1. Plfgoa

    Plfgoa New Member

    Joined:
    Jun 11, 2008
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    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
     
  2. gunshot08

    gunshot08 New Member

    Joined:
    Jun 6, 2008
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    0
    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);
    }
     
  3. Plfgoa

    Plfgoa New Member

    Joined:
    Jun 11, 2008
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Hi,

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

    Thanks.

    -PLF
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice