inflearn logo
강의

Khóa học

Chia sẻ kiến thức

(Mới nhất 2026!) Vượt qua kỳ thi thực hành Kỹ sư xử lý thông tin chỉ trong một tuần

Câu lệnh điều kiện (v2)

NULL과 0

4

happwhy

10 câu hỏi đã được viết

0

image.png

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

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

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

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

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 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

23

2

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

0

22

2

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

0

22

2

정처기 질문

0

35

2

자식 기본 생성자 출력 조건

0

28

2

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

0

32

2

포인터 16강 9:44

0

28

1

6강 17:50

0

39

2

6강 11:37

0

34

2

08:30 이중포인터 질문

0

34

1

6강 5:15

0

37

1

5강 5:45

0

40

2

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

0

48

2

업캐스팅 문제 예시 5

0

56

2

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

0

48

2

26년 1회실기

0

60

2