본문 바로가기
프로그래밍/언어_스크립트

typedef - 사용자 정의형, 함수 포인터

by 써드아이 2008. 2. 19.
* typedef     int    integer
  ~~~~~~~     ~~~    ~~~~~~~

integer 라고 쓰여진 놈을 int로 생각하라~


* typedef  struct _MyData    MyData
  ~~~~~~~  ~~~~~~~~~~~~~~    ~~~~~~


MyData 라고 쓰여진 놈을 struct _MyData로 생각하라~


* typedef  sturct _MyData *    PMyData
  ~~~~~~~  ~~~~~~~~~~~~~~~~    ~~~~~~~

 
 PMyData 라고 쓰여진 놈을 struct _MyDaa *로 생각하라~



%%
마지막 단어를 typedef 다음에 오는 단어부터 마지막 white space 전까지의 문장으로 인식하도록~ (?)



* typedef     void    (*FuncPtr)( param )
  ~~~~~~~     ~~~~    ~~~~~~~~~~~~~~~~


FuncPtr을 param 인자를 가지고 반환값이 void인 함수의 포인터로 생각하라~

선언
    void testfunc( int data );
    
    FuncPtr fp = testfunc;
    
호출
    fp( 10 );




* typedef     void    (Class::*FuncPtr)( param )
  ~~~~~~~     ~~~~    ~~~~~~~~~~~~~~~~~~~~~~~
 
FuncPtr을 param 인자를 가지고 반환값이 void인 Class 클래스 멤버 함수의 포인터로 생각하라

선언
    void Class::test( int );
    
    FuncPtr fp = &Class::test;

호출
    Class sample;
    
    (sample.*fp)( 10 );