함수 포인터 반환
함수 포인터 형을 함수의 반환형으로 선언하는 문법
void (* RetFunc(int sel)) (void)
함수의 이름: RetFunc
함수의 매개변수 : int 형 변수 sel 하나
함수의 반환형 : 반환형이 void 형이고 매개변수형이 void형인 함수의 포인터
#include <stdio.h> void AddProc(void); void MinusProc(void); void (*RetfuncPtr(int sel))(void); int main(void) { void (*fctPtr)(void); fctPtr = RetfuncPtr(1); fctPtr(); fctPtr = RetfuncPtr(2); fctPtr(); return 0; } void AddProc(void) { int n1, n2; fputs("덧셈 위한 두 개의 정수 입력 : ", stdout); scanf("%d %d", &n1, &n2); printf("덧셈 결과 : %d \n\n", n1+n2); } void MinusProc(void) { int n1, n2; fputs("뺄셈 위한 두 개의 정수 입력 : ", stdout); scanf("%d %d", &n1, &n2); printf("뺄셈 결과 : %d \n\n", n1-n2); } void (*RetfuncPtr(int sel))(void) { if(sel == 1) return AddProc; else return MinusProc; }
실행결과
'프로그래밍 > C' 카테고리의 다른 글
strcat() 라이브러리 함수 대신 사용할 것 (0) | 2011.10.26 |
---|---|
#pragma 매크로 (0) | 2011.10.02 |