C++은 포인터를 통해 메모리에 접근할 수 있고, 함수에 대한 메모리도 가리킬 수 있습니다.

 

   반환값 함수명 (매개변수)

 

반환 값과 매개변수가 같은 함수 포인터 변수를 선언해주면 됩니다.

 

Test1, Test2 를 접근하기 위해

void (*fp) (int, int);

 

선언을 통해 fp (함수 변수명)로 해당 함수를 부를 수 있게 됩니다!

 

#include <stdio.h>

void Test1(int value1, int value2)
{
	printf("======Test1======\n");
	printf("value1 : %d\n", value1);
	printf("value2 : %d\n", value2);
}

void Test2(int value1, int value2)
{
	printf("======Test2======\n");
	printf("value1 : %d\n", value1 + 10);
	printf("value2 : %d\n", value2 + 10);
}

int main()
{
	void (*fp)(int, int); //void ??? (int , int) 함수에 접근 가능합니다.

	fp = Test1;
	fp(10, 10);

	printf("\n");

	fp = Test2;
	fp(10, 10);
}

 

실행 결과

 

+ Recent posts