inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

조건문 (v2)

NULL과 0

3

가보자고

작성한 질문수 10

0

image.png

왼쪽 코드 맨아래 설명을 생략하신거 같은데요 NULL은 숫자 0이 아니잖아요
그래서 NULL==0은 거짓이니까 0이라고 생각했습니다

그래서 저는 출력 시 NULL==0의 결과: 0 이라고 생각했거든요

그런데 오른쪽 출력값에 1이라고 나와있더라구요 오타인가요? 아니면 제가 이해를 잘 못한건가요??

python java c 정보처리기사 정보처리산업기사

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 가보자고님.

C 언어에서 NULL과 숫자 0의 관계에 대한 질문을 주셨군요. 혼란을 겪는 부분에 대해 설명드리겠습니다.

NULL과 숫자 0의 관계

  • NULL: C 언어에서 NULL은 보통 포인터의 초기화에 사용되며, 정수형 0으로 정의되는 경우가 대부분입니다. 이는 stdio.h등의 헤더 파일에서 #define NULL ((void*)0) 와 같은 방식으로 정의될 수 있습니다. 따라서 NULL0은 동일한 값으로 간주될 수 있습니다.

  • 0: 정수 0은 C에서 거짓으로 판단됩니다. 그러나 NULL 역시 정수형 0으로 표현되므로 NULL == 0은 참(1)으로 평가됩니다.

아마도 코드의 실행 결과에서 NULL == 01로 나오는 것이 놀라우셨던 것으로 보입니다. 이는 오타가 아니라 C 언어의 정의에 따른 결과이므로 정확하게 이해하신 것입니다.

관련된 내용을 더 잘 이해할 수 있는 유사한 질문과 답변을 확인해 보시면 도움이 될 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

26년 1회 기출문제 11번 질문드립니다

0

14

1

업캐스팅 문제예시5 & 업캐스팅 문제 예시 6

0

11

1

V1.2 VS V.091

0

15

2

split('T')일때는 T만 제거되는거고 공백은 제거되지 않는 건가요?

0

17

2

파이썬 언어 업데이트, 언어별 학습자료 업데이트

0

24

2

C, java, python 언어 기출문제 강의 질문

0

19

2

1:26 에서 반복문 i[1] 이니까 0 다음 두번째 항목들 아닌가요

0

18

2

d

0

22

2

출력값

0

22

2

(기출) 2023년 3회 코드해석 문제의 1:10입니다.

0

22

2

23년도 2회 c언어 0:03 n[(i+6)%5] 도 가능한건가요?

0

22

2

정처기 질문

0

35

2

자식 기본 생성자 출력 조건

0

27

2

부모 및 자식 기본생성자 호출

0

31

2

포인터 16강 9:44

0

28

1

6강 17:50

0

37

2

6강 11:37

0

34

2

08:30 이중포인터 질문

0

34

1

6강 5:15

0

37

1

5강 5:45

0

39

2

전체적으로 답을 먼저 알려주지 마세요..

0

47

2

업캐스팅 문제 예시 5

0

56

2

(기출) 2025년 2회 이론 파트

0

48

2

26년 1회실기

0

60

2