티스토리 뷰
반응형
[함수 포인터]
쉽게 생각 합시다. 일반 변수는 주소를 가지고 있습니다. 마찬가지로 함수 또한 주소를 가지고 있는데요.
그러면 함수 주소를 특정 변수에 저장했다가 주소를 호출하면 해당 함수를 호출 할 수 있지 않을까?
#include <stdio.h>
#include <stdlib.h>
typedef int (*Func)(int, int); // 함수 포인터의 형태를 정의합니다.
typedef struct tmp
{
int a;
int b;
Func function; // 함수 포인터를 담을 변수
}*pTmp;
int plusFunc(int a, int b)
{
printf("plusFunc\r\n");
return a + b;
}
int minusFunc(int a, int b)
{
printf("minusFunc\r\n");
return a - b;
}
int main(void)
{
tmp t;
t.a = 20;
t.b = 10;
t.function = &plusFunc; // plusFunc 함수의 주소(포인터)를 Function 변수에 저장를 합니다.
int result = t.function(t.a, t.b); // 저장된 주소를 호출합니다. (plusFunc)
printf("result : %d\r\n", result);
t.function = &minusFunc; // minusFunc 함수의 주소(포인터)를 Function 변수에 저장를 합니다.
result = t.function(t.a, t.b); // 저장된 주소를 호출합니다. (minusFunc)
printf("result : %d\r\n", result);
system("pause");
}
반응형
'자료구조' 카테고리의 다른 글
큐 리스트형 를 이용한 순차 출력 (0) | 2020.09.09 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 에코 클라이언트
- 에코서버
- C#
- program
- C
- uwp
- 프로그램
- UDP 클라이언트
- 큐 리스트
- 채팅
- SOL
- 윈도으 템플릿
- UDP Socket
- 비주얼 스튜디오
- uwp textbox
- _beginthreadex 예제
- UDP Echo Server
- c++
- tcp echo server
- 솔라나
- UDP 소켓 프로그램
- echo tcp client
- C++ 쓰레드
- echo server
- 토큰
- Visual Studio
- SPL-TOKEN
- TCP 서버
- uwp button
- uwp textblock
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함