[ POSTECH ] in KIDS 글 쓴 이(By): Super (Man) 날 짜 (Date): 2000년 4월 12일 수요일 오전 11시 03분 53초 제 목(Title): 긴급도움요청) C 에서 질문임다 enum 과 volatile 에 대해서 설명 좀 해주세요. enum 이 constant integer 의 set 이라는건 알겠는데, 함수의 리턴 타입을 enum 으로 주고 받는건 어떻게 되는 거에요? 예를 들어, typedef volatile enum { man_a man_b woman_a woman_b } humans ; 로 정의해놓고, 함수 정의는 다음과 같이 해놨어요. humans exams ( char *buf , short offset , short len ) { 함수 내용 } 이렇게 해놓구 나서, 함수를 호출하거든요. 다음과 같이요. humans status, shadow ; short off , length ; status = exams((char *)&shadow ,off ,length )); 여기서 궁금한 것은 다음과 같아요. 1. enum 타입으로 함수 리턴값을 주고 받는데, exams 라는 함수가 특정조건을 만족시켰으면, man_a 라는 값을 돌려주고, 다른 특정 조건을 만족시켰으면, woman_a 라는 값을 돌려준다거든요. 이게 대체 무슨 소리에요? 그럼, 나머지 man_b 나 woman_b 같은 건 어찌 되는거에요? 2. exams((char *)&shadow,off,length)) 에서 (char *)&shadow 에 ~~~~~~~~~~~~~~~ 대해 알려주세요. shadow는 humans 라는 enum 타입인데, (char *) 는 뭐고 , shadow 앞에 붙은 & 는 또 뭐에요 ? 3. volatile 이란 무엇인가요? 매뉴얼을 보니, 데이타를 레지스터를 거치지 않고, 메모리에서 직접 억세스하는 거라고 쓰여있는것 같은데, 이런 걸 왜 하는 건가요 ? 4. 저의 질문에 답해주시면 정말 정말 감사하겠습니다 |