NULL GUARD? 예외처리!

2024. 2. 27. 19:07C언어

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이 발생할 수 있는 상황을 예외처리 해준다.

'C언어' 카테고리의 다른 글

포인터 연산  (0) 2024.03.08
unsigned char  (0) 2024.03.08
size_t  (1) 2024.03.08
문자열 포인터 길이 확인 시 주의사항  (0) 2024.02.29
배열과 포인터  (0) 2024.02.27