포인터 관련된 간단한 질문이에요
빛솔
2023.04.01
질문 내용 :
질문입니다.
int *ptr; 이렇게 포인터가 있구요..
if(ptr)
if(*ptr)
위에 이 두개의 차이가 뭔가요??
학교 수업시간에 위에는 0이면....일때 같구밑에는 0이 아니면.. 이런식으로 흐름이 가던데...
제가 이해한게 맞나요? ㅠ ㅠ
-
이거이름임
아! 감사합니다. 제가 필기를 잘못 해놨었나봐요 ^^ 감사합니다.
-
딥핑크
if(!ptr)은 주소가 NULL 일 때 참입니다.
헷갈리기 쉬우므로 위 표현은 if (ptr == NULL)이 가독성이 더 좋은 것 같네요. -
꽃가을
그런데 if(!ptr) 도 ptr 주소값이 NULL이 아닐때라던데... if(ptr)이 주소가 null이 아닐때 라면 if(!ptr)이랑 똑같지 않나요?
-
연보라
위는 포인터에 들어있는 주소가 nil이 아닐때, 아래는 포인터에 들어있는 주소값의 참조값이 nil이 아닐때.