CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): HellCat (아가남편)
날 짜 (Date): 1995년08월28일(월) 22시58분42초 KDT
제 목(Title): [re] 간단한 문제..가 아닌데..



우선 
char buf[10];
char *ptr = buf + 2; 여기서 ptr = &(buf[2]) 가 되고

그리고 이 포인터 주소를 롱인티져 포인터로 캐스팅해서
그 내용을 롱 인티져로 캐스팅하고..

여기까지 일단 문제는 buf[2] 의 값은 undefined
대부분의 경우 main 에서 처음 시작하는 부분이니까
NULL 패드가 되어있겠지만..하지만..C 는 그 값이
널이라고 define 한적이 없으니.. undefined 가
답이 될테고.

그럴 경우 *((long*)ptr) 이부분의 결과는 undefined 가
되는게 답이라고 할수있겠죠.

그리고 다시 이것을 unsinged long 으로 캐스팅하면
(unsigned long int) (undefined value) 이렇게 되는 것이니
결국 undefined 가 답이 되어야 하는데..


즉 다시 말하면 콤파일해서 엑시큐션 했을때 답이 머가 나와도
콤파일러가 잘못했다고 불평을 할수가 없다는 이야기가
아닌가요?

--- hellcat@korea.slip.umd.edu
  if (t_snddis(KIDS[i].fd, (struct t_call *)NULL) == -1)
    { t_error("날 죽여라!!"); longjmp ((jmp_buf) HELL, -1); }
--- dkim@cwc.com
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.