프로그래밍/언어_스크립트
typedef - 사용자 정의형, 함수 포인터
써드아이
2008. 2. 19. 01:28
* 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 );
~~~~~~~ ~~~ ~~~~~~~
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 );