POSTECH

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ 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. 저의 질문에 답해주시면 정말 정말 감사하겠습니다
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.