📌넌 함수니? 포인터니? 난 함수 포인터야!
함수 포인터란, 문자 그대로 함수를 가리킬 수 있는 포인터를 의미
함수 포인터를 선언하는 방법
1️⃣ 반환 값과 매개변수가 없는 함수
void (*함수포인터이름)();
2️⃣ 반환 값과 매개변수가 있는 함수
반환 값이나 매개변수가 존재할 때는 아래와 같이 선언할 수 있다.
반환자료형 (*함수포인터이름)(매개변수자료형1, 매개변수자료형2, ...);.
📌함수 포인터, 왜 널 사용해야 하니?
코드의 간결성 때문!
⁜ 함수 포인터를 왜 사용하나요?
▪ CallBack 매커니즘을 구현할 때 함수를 또 다른 함수의 인자로 넘겨주기 위해 주로 사용돼요.
소스코드에서 상호 간에 함수 이름을 지정할 필요가 없는 자유를 제공해요.
▪ 동적으로 늘어나거나, 줄어드는 UI에 이벤트 핸들러를 붙이거나 뗄 때,
이를 효율적으로 관리하기 위해 함수 포인터를 사용하면 간편해요.
⭐ 정리하기 ⭐
✔ 함수 앞에 *를 붙여서 함수 포인터를 만들 수 있다.
✔ 함수 포인터에는 함수의 주소 값을 저장할 수 있다.
✔ 반환형의 종류에 따라 반환 값이 있거나 없을 수 있다.
✅ 오늘의 문제 : 사칙연산 계산기 만들기
✅ 함수 포인터를 활용해서 사칙연산 계산기를 만들어 보세요.
✅ 조건
두 수를 먼저 입력받습니다.
연산할 기호를 입력받습니다.
해당 기호에 맞는 연산을 실시합니다.
'STUDY > C' 카테고리의 다른 글
[모각코 C언어 메이트 심화편] 문자열 함수 | 버퍼 | 문자열 길이 비교 (0) | 2022.02.24 |
---|---|
[모각코 C언어 메이트 심화편] 동적 메모리 할당 | 점수의 평균 구하기 (0) | 2022.02.24 |
[모각코 C언어 메이트 심화편] 도전 문제 | 2차원 배열과 이중포인터 (0) | 2022.02.24 |
[모각코 C언어 메이트 심화편] 이중 포인터 | 최댓값 구하기 (0) | 2022.02.24 |
[모각코 C언어 메이트 심화편] 이중 포인터 | 행과 열 바꾸기 (0) | 2022.02.24 |