C 메모리 NULL - sonkoni/Koni-Wiki GitHub Wiki

메모리 널 포인터

메모리가 할당된 포인터도 있지만, 할당되지 않은 포인터도 있다. 이때 NULL 을 사용한다.

#include <stdio.h>
#include <stdlib.h>   /* malloc, free */

int main(int argc, char *argv[]) {
    int *numPtr = NULL;   // 포인터에 NULL 포인터 할당
    printf("=> %p\n", numPtr);
    
    // 널인지 확인한 뒤 메모리를 할당할 때 다음처럼 쓰임
    if (numPtr == NULL) {
        numPtr = malloc(sizeof(int));
        *numPtr = 10;
        printf("=> %d\n", *numPtr);
        free(numPtr);
    }
    
    return 0;
}
// => 0x0
// => 10
⚠️ **GitHub.com Fallback** ⚠️