[c언어] 포인터와 NULL 값

포인터는 다른 변수의 주소를 저장하는 변수입니다. 때때로 포인터에 어떠한 값도 할당되어 있지 않을 수 있습니다. 이때 포인터를 NULL로 설정할 수 있습니다.

NULL은 c언어에서 포인터가 특정 메모리 주소를 가리키지 않는 상태를 나타내는 특별한 값을 나타냅니다. 포인터가 NULL 값을 갖는 것은 포인터가 어떤 메모리 위치도 가리키지 않음을 의미합니다.

일반적으로 포인터를 초기화할 때, NULL로 초기화하고, 포인터가 NULL인지 아닌지를 확인하여 안전한 프로그래밍을 할 수 있습니다.

예를 들어, 다음과 같이 포인터를 NULL로 초기화하고, 나중에 포인터가 NULL인지를 검사할 수 있습니다.

int *ptr = NULL;

if (ptr != NULL) {
    // 포인터가 NULL이 아닌 경우에 수행할 동작
} else {
    // 포인터가 NULL인 경우에 수행할 동작
}

즉, 포인터를 사용하기 전에 항상 NULL 여부를 확인하는 것이 좋은 프로그래밍 습관입니다.

이렇게 함으로써 세그멘테이션 오류(segmentation fault)와 같은 오류를 방지하고 프로그램의 안정성을 향상시킬 수 있습니다.

참고 자료: