유머천국 코하비닷컴
https://cohabe.com/sisa/116611

프로그래밍에서 0와 null의 차이.jpg

C5G4XTYUEAATv2T.jpg

댓글
  • 죄수번호-25980074 2017/02/21 11:08

    이거 좋다. 발표자료로 써야지.

  • 육식성바나나 2017/02/21 11:28

    어그로를 끌면서 아는척을 해야 대답들어옴ㅋㅋ

  • FcukYou 2017/02/21 11:27

    이렇게 잘아는 사람이 많은데 왜 프로그램 물어보면 암도 대답을 안해주는건지..

  • CatInTheBox 2017/02/21 11:13

    C언어 얘기하고 계시는거 같은데 언어마다 다름.

  • g-spott 2017/02/21 11:29

    잘하는건 공짜로 해줌 안되거든

  • 콩팥쥐쥐 2017/02/21 11:08

    (이해)

    (5b2GV3)

  • 죄수번호-25980074 2017/02/21 11:08

    이거 좋다. 발표자료로 써야지.

    (5b2GV3)

  • Heart★Developer 2017/02/21 11:09

    오! 감탄

    (5b2GV3)

  • 호텔마리오™ 2017/02/21 11:09

    (정-답)

    (5b2GV3)

  • 노이에줄리 2017/02/21 11:10

    사실 이 설명도 잘못된 부분이 있음.

    (5b2GV3)

  • ZX_Frame 2017/02/21 11:10

    미묘하게 삐빅 아닙니까?
    NULL이 내가 알기론 0번지 주소를 가리키는 일종의 포인터라고 들었는데

    (5b2GV3)

  • CatInTheBox 2017/02/21 11:13

    C언어 얘기하고 계시는거 같은데 언어마다 다름.

    (5b2GV3)

  • 코로코로~ 2017/02/21 11:14

    아닌뎅, NULL은 완벽하게 0입니당. 그래서 최신 C++에선 0번지 주소를 가리키는 용도로 nullptr이란게 따로 생겼습니당

    (5b2GV3)

  • 코로코로~ 2017/02/21 11:14

    그러네...저도 일단 c기준 얘기임 ㅇㅇ;

    (5b2GV3)

  • ZX_Frame 2017/02/21 11:15

    호오 그렇군요...
    하지만 NULL은 완벽하게 0이리기보다는 완벽하게 아무것도 없다 가 맞는 것 같네요

    (5b2GV3)

  • 코로코로~ 2017/02/21 11:18

    뭔소리야 형
    c++ 기준으로 #define NULL 0 인데...ㅠ

    (5b2GV3)

  • 돼지한텐나라도법도없어 2017/02/21 11:24

    windef.h 기준으로
    #ifdef __cplusplus
    #define NULL 0
    #else
    #define NULL ((void*)0)
    #endif
    니까. 님들 다 맞음

    (5b2GV3)

  • FcukYou 2017/02/21 11:27

    이렇게 잘아는 사람이 많은데 왜 프로그램 물어보면 암도 대답을 안해주는건지..

    (5b2GV3)

  • 육식성바나나 2017/02/21 11:28

    어그로를 끌면서 아는척을 해야 대답들어옴ㅋㅋ

    (5b2GV3)

  • g-spott 2017/02/21 11:29

    잘하는건 공짜로 해줌 안되거든

    (5b2GV3)

  • 노우미 쿠드 2017/02/21 11:35

    nullptr은 함수호 모효한 호출 문제로 인해 만들어졌습니다 그전까지는NULL 이 0으로 인식되는듯 컴파일러마다 규격이 달랐습니다.

    (5b2GV3)

  • 노우미 쿠드 2017/02/21 11:37

    C는 잘모르니 답변을 못하겠는데 nullptr은 C++ 11이후로 만들어진 문법중하나입니다.

    (5b2GV3)

  • 요리냥이ส็็็็็็็็็็็็ 2017/02/21 11:40

    엌ㅋㅋ

    (5b2GV3)

  • 힝~_~ 2017/02/21 11:41

    명확히 하자면 제목은 NULL이 아니고 null 이라고 했으니 C 얘기는 아닌겁니다. ㅋㅋ

    (5b2GV3)

  • nsys 2017/02/21 11:46

    #define null NULL

    (5b2GV3)

  • 힝~_~ 2017/02/21 11:49

    표준엔 그런게 없는데,
    ㄷㄷㄷ 그렇게 정의해서 사용하시나요?

    (5b2GV3)

  • nsys 2017/02/21 11:50

    그럴리가요? 제정신이면 안하죠.
    근데 C 이야기 하면 솔까 저따위로 해서 쓰는사람 있는건 분명하니...

    (5b2GV3)

  • 세컨트 2017/02/21 12:00

    부동산을 예로 들면 집이 없고 부지만 있는 공터가 0
    그 공터조차도 없지만 부동산 등기로 서류상으로는 되어 있는게 NULL
    그래서 서류상으로는 존재하니 언제든지 0으로 보낼수 있는게 다시 포인터...
    요런식으로 표현하면 될듯...기억이 가물가물함 ㅋ

    (5b2GV3)

  • 바야바이 2017/02/21 12:01

    루리웹의 친구 나무위키가 있거든ㅂ

    (5b2GV3)

  • 다그런거지머 2017/02/21 11:21

    그래서 어떻게 닦고 나왔냐

    (5b2GV3)

  • 리프트마시쪙 2017/02/21 11:23

    손을 씻었다고 합니다.

    (5b2GV3)

  • 신분당선 2017/02/21 11:34

    0쪽릐 휴지심은 적당한 크기로 분리되는 종이다!

    (5b2GV3)

  • 리프트마시쪙 2017/02/21 11:24

    0은 컨테이너는 있는데 값이 0이거나 길이가 0인거고
    null은 컨테이너 자체가 없는 거

    (5b2GV3)

  • 파렌하이트 2017/02/21 11:32

    ???
    0은 그냥 인트형으로 0인거고, null은 값 존재자체가 없는거아녀?

    (5b2GV3)

  • repuien 2017/02/21 11:41

    그러니까 한쪽은 휴지심이 있고 한쪽은 아예 암것두 없잖아용.

    (5b2GV3)

  • 들장미중년 2017/02/21 11:32

    참으로 적절한 비유다. 지림 ㄷㄷ

    (5b2GV3)

  • 수고했습니다 2017/02/21 11:35

    null은 값 자체가 없는게 맞기는 한데 보통 0번 주소는 ROM처럼 보호되는 구간이라 접근이 불가능함 그래서 null=0으로 해도 에러가 안남

    (5b2GV3)

  • 신분당선 2017/02/21 11:35

    프로그레밍쪽은 잘 몰라서 그런데 0쪽은 더이상 반복될게 없다고 null 쪽은 에초에 계산을 안하는거임?

    (5b2GV3)

  • 타냐땅 2017/02/21 11:36

    솔직히 프로그레밍 보다는 통계쪽에서 더 중요한 소리임 이건.

    (5b2GV3)

  • 타냐땅 2017/02/21 11:37

    평점이 0 점입니다랑, 평점입력이 없습니다랑 이느낌.

    (5b2GV3)

  • 신분당선 2017/02/21 11:40

    평점으로 끌고들어가니까 묘해지네
    0은 꺼먼 화면을 보여쥬는거고 null은 모니터가 꺼진건가...?

    (5b2GV3)

  • 타냐땅 2017/02/21 11:42

    0은 반형의 어둠이고 null 의 우주의 어둠임. 실체가 있고 없고의 차이.

    (5b2GV3)

  • 신분당선 2017/02/21 11:44

    이해했다 고맙다...

    (5b2GV3)

  • 앙증마 2017/02/21 11:44

    랭귀지 상관없이 NULL 은 없는거, 0은 값이 0이라는 말.
    값을 쓸수 있는 종이가 있는데, 종이에 0이라고 적으면 값은 있는거지 0이라는 값이..
    그런데 그 종이에 아무것도 안 적었으면, 값이 없는거지..
    위에도 휴지걸이에 휴지심이 남아있는건 0, 휴지심이 없는건 NULL
    그런고로 반복될게 없다는 아닌거고 휴지가 1칸도 없어서 0, NULL도 계산은 할수 있음. NULL이냐 아니냐로. 그런데 값이 없으므로 사칙 연산은 못함. 이라는거.

    (5b2GV3)

  • 타냐땅 2017/02/21 11:36

    R 에선 NA

    (5b2GV3)

  • 세이햐 2017/02/21 11:39

    0은 1이 존재햇다는거고 null은 아예 없다는거 아닌가?

    (5b2GV3)

  • ZX_Frame 2017/02/21 11:43

    "0"이라는 값이 있다는 거랑
    걍 아무 것도 없다는 것의 차이

    (5b2GV3)

  • 흠... 2017/02/21 11:41

    int *a = 0;
    int *b = NULL;
    로그 찍어보면 둘다 주소값 0x0나옴.
    결론은 둘다 같음.

    (5b2GV3)

  • 앙증마 2017/02/21 11:46

    코딩하지 말아라.. 버그 만든다. int 에 0 이 들어있는것과 NULL 이 있는게 어떻게 같냐?

    (5b2GV3)

  • 흠... 2017/02/21 11:47

    포인터 모름?
    포인터 주소값 넣은거랑, int값 넣은거랑 다른데, 본인이야 말로 코딩하면 안되겠네

    (5b2GV3)

  • 앙증마 2017/02/21 11:50

    헐... 아니 값이 같다고 같다고 하는게 틀린거지.. 그걸 같게 보는거 자체가 문제야..
    아니 주소하고 Value를 같다고 생각하는게 문제지.. 그런 생각을 갖고 코딩하면 안되.. ㅡ.ㅡ; 버그 만들기 좋아..

    (5b2GV3)

  • 앙증마 2017/02/21 11:51

    그리고
    int *a, int *b 하는 순간 서로 다른 주소 할당 받는다. ㅡ.ㅡ;

    (5b2GV3)

  • 흠... 2017/02/21 11:51

    애초에 글쓴이가 0하고 null 을 비교하는거 자체가 주소값 비교한거 아닌가
    값을 비교했으면 당연히 0하고 null은 다르지

    (5b2GV3)

  • 내여친ChloeVonEinzbern 2017/02/21 11:53

    컴파일러마다 규정이 다르거나, 꼭 코딩이 아니더라도 다른분야에서도 NULL이랑 0이랑 똑같이 취급하거나 그럼?
    누가 맞는지 설명좀

    (5b2GV3)

  • 코이와이 요츠바 2017/02/21 11:55

    0 == null 로 이해하면 진짜 위험해요

    (5b2GV3)

  • 내여친ChloeVonEinzbern 2017/02/21 11:57

    근데 나도 강의 시간엔 교수님들이 0과 NULL은 서로 다른 개념인데, 컴파일러에선 결과는 같게 나오지만, 엄연히 다른 개념이니 이점 주의하라고 설명 들은 기억이 있는데...

    (5b2GV3)

  • 흠... 2017/02/21 11:57

    왜죠?

    (5b2GV3)

  • 앙증마 2017/02/21 11:58

    무조건 0과 null은 구분함.
    단 특정 컴파일러(언어)의 경우, 실행시 null을 0으로 처리하는 경우는 있음. 반대는 없음.
    0을 null로 처리 하지 않음

    (5b2GV3)

  • 그만백수하고싶다 2017/02/21 11:58

    동감합니다. 당장 DB만 봐도 0과 Null은 다르죠

    (5b2GV3)

  • 앙증마 2017/02/21 11:59

    혹시 컴공이거나 IT계열 희망한다면, c# 에서 int, int? 이거 검색하고 오면 이해가 좀더 쉬울듯..

    (5b2GV3)

  • 내여친ChloeVonEinzbern 2017/02/21 12:00

    오오오오오오 현직자 인가부네

    (5b2GV3)

  • 루시오르 2017/02/21 12:00

    아냐. 기본적인 원칙이라는게 있는데 널은 없음을 의미할때 써.

    (5b2GV3)

  • 앙증마 2017/02/21 12:01

    음... 16년차... 게임..

    (5b2GV3)

  • 루시오르 2017/02/21 12:03

    참고로 널을 넣으나 0을 넣으나 메모리를 뒤져보면 똑같이 0으로 보이긴 해... 다만 널일때는 아무것도 없다는 의미의 0이고 0을 넣었을땐 0이 있다는 의미에서 0. 이걸 구분 못하면 아직 코딩하면 안되는 애들인거...

    (5b2GV3)

  • Yria 2017/02/21 12:16

    학생때야 컴파일러 그까이꺼 vs 아닌교? 하지만 현업뛰면 진짜 컴파일러 여러개 써보는 경우 허다하고
    strip level 에 따라 다른 결과값을 던지고 int i; 가 어떤 컴파일러는 0값을, 어떤 컴파일러는 쓰레기값을 넣고 하여튼 컴파일 옵션때문에 머리 빠개짐

    (5b2GV3)

  • 루리웹-611067284 2017/02/21 11:48

    뭔소리야 0은 사실 무언가가 숨겨져있고 null은 진짜 없다는거야?

    (5b2GV3)

  • nsys 2017/02/21 11:49

    휴지의 양 = 0
    휴지 자체가 걸린적이 없음 = null
    이거임 지금.

    (5b2GV3)

  • 노트북클럽 2017/02/21 11:55

    0은 0이라는 값의 흔적이 있다는 거야
    그래서 다 쓴 휴지곽 사진이고
    null은 아무것도 없다는 뜻에서 아예 아무것도 없는 사진 보여주는 거

    (5b2GV3)

  • 사구 2017/02/21 11:48

    NULLまゆ

    (5b2GV3)

  • 구겟타로보 2017/02/21 11:56

    ぬるぽ?

    (5b2GV3)

  • Gold-Matiz 2017/02/21 12:07

    출력된게 0이랑 null은 다른거아님?

    (5b2GV3)

  • krung 2017/02/21 12:14

    C가 프로그래밍의 전부가 아니니 null과 0가 같다라는 말에 속지 마라
    널은 없는거고 0은 값이 0이라는거야.

    (5b2GV3)

(5b2GV3)