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 


위의 별 볼일 없는 내용보다 훨씬 좋은 정보가 있는 링크

http://www.newty.de/fpt/fpt.html

'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
Posted by 쵸코케키

블로그 이미지
chocokeki
쵸코케키

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함