구조체를 typedef로 했는데요.
글쓴이: seeker / 작성시간: 수, 2003/03/26 - 6:07오후
구조체 타입을 정의하기 전에
그 사이즈를 다음처럼 선언했는데
이것이 컴파일이 되네요?
#define EN54070_SHMSIZE sizeof ( en54070_info_t ) typedef struct en54070_info { /* Header */ int intNum; /* strData의 실제 데이터의 배열크기 */ time_t tm; /* 공유메모리 내용이 마지막으로 수정된 시간 */ /* data */ char data[ 20000 * 10 ][ EN54070_ELSIZE ]; } en54070_info_t;
en54070_info_t 를 정의하기전에 sizeof로 참조한것이
어떻게 에러가 발생안하는지요?
Forums:
검사하지 않습니다.
#define은 가장 쉽게 말하면 문자열 치환입니다.
단순히 'EN54070_SHMSIZE'를 'sizeof ( en54070_info_t )'라는
문자열로 치환합니다.
이때 치환되는 때는 "컴파일 이전" 입니다.
_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz
댓글 달기