728x90
반응형
-NULL 개념
-널 포인터 상수
-NULL 매크로
-NUL 아스키 문자
-널 문자열
-널 문장
포인터에 NULL을 할당한다는 것은??
-> 해당 포인터는 아무것도 가리키지 않음을 의미
널 개념은 포인터가 다른 포인터와 다른 특별한 값을 가질 수 있음을 의미한다.
실제 널 개념은 널 포인터 상수에 의해 지원되는 추상적 개념이다.
널 포인터 상수는 0이거나 0이 아닐 수도 있으나 개발자가 신경을 쓰지 않아도 된다.
NULL 매크로는 상수 정수 0을 void 포인터로 캐스팅한거다. 많은 라이브러리에서 다음과 같이 정의 되어 있다.
#define NULL ((void*)0)
NUL 아스키 문자는 모두 0으로 채워진 바이트로 정의된다. 그러나 NUL 은 NULL 포인터와 같지 않다.
널 문자열은 빈 문자열이고 어떤 문자들도 포함하지 않는다.
널 포인터는 연결 리스트에서 종종 리스트의 끝을 표시하기 위해 사용되는 것처럼 많은 데이터 구조의 구현에서 유용하게 사용된다.
0값은 포인터에 할당될 수 있지만 다른 정숫값들은 할당되지 않는다.
pi = 0
pi = NULL
pi = 100(X)
그래서 다음과 같이 쓸 수 있다.
if(pi){ //널이 아닌 경우
}else{//널인 경우
}
728x90
반응형
'언어 > C' 카테고리의 다른 글
sizeof 연산자 (0) | 2020.09.28 |
---|---|
%*c 형식문자 (0) | 2020.09.22 |