🏷️널 포인터 (null pointer)
- 아무것도 가리키지 않는 포인터
- 널 포인터가 가지고 있는 값은 implementation이 "아무것도 가리키지 않는다"라는 사실을 의미한다고 약속한 값이다.
- 서로 다른 데이터형의 널 포인터는 서로 다른 내부 표현을 가질 수 있다.
📌null pointer constant vs null pointer
- 널 포인터는 널 포인터 상수(null pointer constant)로부터 만들어진다.
- 널 포인터 상수를 포인터 형변환 시키면 널 포인터가 된다.
- 널 포인터와 널 포인터 상수 개념을 구분해야 한다.
- 널 포인터 상수는 널 포인터가 될 수 있는 후보일 뿐이다.
- 널 포인터 상수는 포인터 문맥에서 어떠한 포인터형의 널 포인터로도 변환 될 수 있다.
- 널 포인터는 널 포인터 상수가 특정 포인터형으로 변환되어 나온 결과로, 더 이상 널 포인터 상수처럼 임의의 포인터형으로 변환할 수 없다.
- 널 포인터 상수는 상수의 성격이 강하고, 널 포인터는 말 그대로 포인터형의 값일 뿐이다.