C언어
NULL GUARD? 예외처리!
성-민
2024. 2. 27. 19:07
42에서 불리는 NULL GUARD라는 것이 있다.
이는 NULL이 발생할 상황을 예외처리 해주는 것이다.
char *str; // 초기화되지 않은 포인터
if (str == NULL)
{
//포인터가 NULL을 가리킴
}
이와 같이 초기화하지 않은 포인터는 'NULL'을 가리킨다.
if (!(str = (char *)buf))
return (NULL);
이 조건은 str에 (char *)buf의 값을 대입한 후에 str이 NULL인지를 확인한다.
즉, str에 (char *)buf의 값을 대입했을 때 실패하면(즉, str이 NULL인 경우) 조건은 참이 됩니다.
이렇게 예상치 못한 경우에 NULL이 발생할 수 있는 상황을 예외처리 해준다.