2009. 11. 24. 22:14 devel/man & example
function pointer
Function Pointer
system programming 과목 시간에 thread programming을 했음에도 불구하고
function pointer가 필수적인 부분이 거의 없었다 덕분에 참 익숙치가 못하다
Def
void (*pfunc)(void*)
()연산자의 사용이 가능함 덕분에 함수를 변수처럼 사용이 가능함
e.g.
int t1(char* str){
strcat(str,"temp");
return (strlen(str));
}
int (*pFunc)(const char* str); //Declare function pointer variable
int main(){
char buf[500];
strcpy(buf,"xxxx");
pFunc = t1;
printf("%d",pFunc(buf));
}
응용으로 pFunc만 실행해도 다른 함수 실행이 가능
typedef int (*pFunc)(void*, void*);
이렇게 선언을 하면 pFunc variable은 이제 하나의 독립된 변수형으로 동작하게 되는 것임
이를테면 pFunc newFuncPtrVariable;
int temp = newFuncPtrVariable("void* argument1", "void* argument2");
이런 구현이 가능
- 참고 redwiki
위의 별 볼일 없는 내용보다 훨씬 좋은 정보가 있는 링크
'devel > man & example' 카테고리의 다른 글
thread starvation (0) | 2011.12.09 |
---|---|
scanf에서 fflush(stdin) 사용 안하고 \n 파싱해서 없애기 (2) | 2011.11.27 |
sprintf int to ascii (0) | 2009.11.08 |
C++ , C File OUTPUT e.g. (0) | 2008.12.02 |
String Parsing (0) | 2008.05.25 |