포인터를 이용해서 함수를 배열에 담아 사용해보자.
원리는 포인터를 저장할 수 있는 함수 배열의 각 원소에 함수 포인터들을 저장하는 것이다.


#include <stdio.h>

void Print0(int number);
void Print1(int number);
void Print2(int number);

int main()
{
void (*ptrA[3])(int) = {Print0, Print1, Print2};
//ptrA[0] = Print0;
//ptrA[1] = Print1;
//ptrA[2] = Print2;

ptrA[0](1);
ptrA[1](1);
ptrA[2](1);

return 0;
}

void Print0(int number)
{
printf("Print0 : %d + 0 = ", number);
number = number;
printf("%d\n", number);
}

void Print1(int number)
{
printf("Print1 : %d + 1 = ", number);
number = number + 1;
printf("%d\n", number);
}


void Print2(int number)
{
printf("Print2 : %d + 2 = ", number);
number = number + 2;
printf("%d\n", number);
}



Output


Print0 : 1 + 0 = 1
Print1 : 1 + 1 = 2
Print2 : 1 + 2 = 3

'Programming Languages > C' 카테고리의 다른 글

가변 인자 함수 2  (0) 2010.08.31
가변 인자 함수 1  (0) 2010.08.31
파일 입/출력  (0) 2010.03.14
재귀 함수  (0) 2010.03.09
fflush.c  (0) 2010.01.12
Posted by 독뽀
,