Silphion System :: [c] 사용자정의 free함수 사용하기

free함수로 메모리를 해제한 뒤 포인터값을 NULL로 지정하는 기능까지 추가하여 free 함수를 재정의한다.

#include <stdio.h>

void saferFree(void **pp)
{
    if(pp != NULL && *pp != NULL)
    {
        free(*pp);
        *pp = NULL;
    }
}

#define safeFree(p) saferFree((void**)&(p))

int main()
{
    int *p1;
    p1 = (int *)malloc(sizeof(int));
    *p1 = 5;
    printf("Before: %p\n", p1);
    safeFree(p1);
    printf("After: %p\n", p1);
    safeFree(p1);

    return 0;
}


이 글의 관련글
2018/03/23 16:01 2018/03/23 16:01

Tags: ,

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다

Comment on this post!