C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[36039] Re:select에서 질문
유영인 Cuperido [cuperido] 809 읽음    2004-07-03 16:27
말씀하신대로 0과 NULL은 같은 의미입니다.
select에서 처음 인자인 소켓 범위만 제외하고는 나머지는 전부 포인터 인자입니다.
포인터 인자는 스택으로 전송될때 실질적으로 int 형인 4Byte 숫자로 전송이 되게 됩니다.

int형에서는 0은 거짓, 0을 제외한 수는 모두 참입니다.
NULL은 거짓과 동일한 의미로 사용됩니다.

즉, 함수로 넘어가는 int 형의 포인터 값은 0이나 NULL이나 시스템에서 받아들일때는
똑같이 받아들인다는 것입니다.

책은 해당 저자의 경험에 의해서 집필된 것이므로, 사람이라면 누구나 틀린 지식을
가지고 있을 수 있다고 생각합니다. 저자의 의도는 잘 모르겠지만, 만약 0과 NULL이
틀리다 라는 단순 문제라면, 저자분이 약간의 실수를 하셨는지도 모르겠습니다.

컴퓨터책은 상당히 많이 틀린 곳이 존재하는 서적중에 하나 같습니다... :)
물론 제가 간혹 다는 답변들 중에서도 틀린 곳이 허다하지만요.. ㅋㅋ


cuperido


김상면 님이 쓰신 글 :
: 저는 NULL과 0은 같다고 알고 있습니다.
: 그런대 소켓에서 select는 NULL과 0이 다르다고 합니다.
: 무신 말인고 하니
:      select(모시기,뭐시기,뭐라고,NULL);
:      select(모시기,뭐시기,뭐라고,0);
: 다르게 동작한다고 합니다.
: 어케 다른가요 분명히 stdlib.h에 #define NULL 0 이라고 선언되어 있다는걸로 아는데
: 저자가 잘못 기술하지는 않았겠고 이게 어케 된거지요
:
: 그럼

+ -

관련 글 리스트
36037 select에서 질문 김상면 830 2004/07/03
36039     Re:select에서 질문 유영인 Cuperido 809 2004/07/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.