포스트

[ C++ ] 함수 포인터

함수 포인터



  • 특정 함수의 반환 자료형을 지정하는 방식으로 선언 가능

  • 함수 포인터를 이용하면 형태가 같은 서로 다른 기능의 함수를 선택적 사용 가능

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int add(int a, int b) {

return a + b;

}

int sub(int a, int b) {

return a - b;

}

int main(void) {

//반환 자료형(*이름)(매개변수) = 함수명;
int(*fp)(int, int) = add;

printf("%d\n", fp(10, 3));

fp = sub;

printf("%d\n",fp(10,3));

system("pause");

return 0;

}

>> 10

      7


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int add(int a, int b) {

return a + b;

}

int(*process(char*a))(int, int) {

printf("%s\n", a);

return add;

}

int main(void) {

printf("%d\n", process("10과 20을 더한 값을 출력합니다")(10, 20));

system("pause");

return 0;

}

>> 10 20 더한 값을 출력합니다 

     30


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.