35.3 널 포인터 사용하기

2265 단어 CC

메모리가 할당된 포인터도 있지만, 메모리가 할당되지 않은 포인터도 있다.


#include <stdio.h>

int main()
{
    int *numPtr1 = NULL;    // 포인터에 NULL 저장

    printf("%p\n", numPtr1);    // 00000000

    return 0;
}
  • NULL이 들어있는 포인터를 널 포인터(null pointer)라고 하며 아무것도 가리키지 않는 상태를 뜻한다.

  • 따라서 역참조를 할 수 없다.

  • 실무에서는 다음과 같이 포인터가 NULL인지 확인한 뒤, NULL이면 메모리르 할당하는 패턴을 주로 사용한다.

if (ptr == NULL)         // ptr이 널 포인터라면
{
    ptr = malloc(1024);   // 1024바이트만큼 메모리 할당
}


출처

https://dojang.io/mod/page/view.php?id=288

좋은 웹페이지 즐겨찾기