본문 바로가기

프로그래밍/C

함수포인터 - 함수 포인터 형을 반환

함수 포인터 반환

함수 포인터 형을 함수의 반환형으로 선언하는 문법


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