pipe( int fd[2] ) 질문입니다.!
글쓴이: seeker / 작성시간: 금, 2003/02/07 - 1:18오전
int pipe( int fd[2] )
라고 선언이 되어있는데요.
int fd[2]라는 인수선언은 int *fd로 표현하는것이 더일반적이지 않나요?
어차피 fd[2]라고 해도
함수내부에서 fd+3 또는 fd[3]이란 표현이 사용될지라도
컴파일러에 의해 out of 인덱스체크는 안되지 않습니까?
단지, 파이프가 2개의 fd를 리턴하므로 그것을 알리려는 목적때문에 그렇게
선언이 되있는것으로 생각이 됩니다.
Forums:


말씀하신게 모두 맞습니다...ㅡ.ㅡ;
말씀하신게 모두 맞습니다...ㅡ.ㅡ;
C언어는 참...
좀 심하네요
상수(2)로 선언을 해도, 상수 3으로 접근하는것을 아무말도 안해주다니...
경고도 안뜨나요? 거참...
--
Life is short. damn short...
RE: C 언어는 참...
제 기억으로는 gcc 2.95 이상에서는(gcc 이전버전은 사용해본 적이...^^;;)
컴파일 타임에 경고를 띄웁니다.
물론, int fd[2]; 같이 Explicit 하게 선언한 경우에 한해서죠..
추가합니다;;
맨 처음 글 쓴분이 든 예중에 fd+3 같은 방식으로 접근하는 것에
대해서는 경고를 띄우지 않습니다 =_=;;;;;