반응형
포인터를 이용해서 함수를 배열에 담아 사용해보자.
원리는 포인터를 저장할 수 있는 함수 배열의 각 원소에 함수 포인터들을 저장하는 것이다.
#include <stdio.h>
void Print0(int number);
void Print1(int number);
void Print2(int number);
int main()
{
void Print1(int number)
{
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;
ptrA[0](1);
ptrA[1](1);
ptrA[2](1);
return 0;
}
void Print0(int number)
{
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)
{
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
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 |