Programming

[C] 함수 포인터 (개념간단정리)

Nobb 2025. 10. 10. 11:39

## 함수포인터란?

 : 함수의 주소를 저장하는 포인터

 

- 용도

    > 함수 이름 직접 쓰지 않아도됨

    > 변수처럼 전달 / 교체 가능 (다른 함수로)

int add(int a, int b) { return a+b; }
int sub(int a, int b) { return a-b; }

void calculate(int (*op)(int,int), int x, int y){ ##
	printf("%d\n", op(x,y));
}

int main(){
	calculate(add, 3, 4);
    calculate(sub, 7, 2);
}

 

- 형태

int (*f) (int*)		- int*인자받아 int반환하는 함수 가리키는 포인터

void (*f) (void)	- 인자x 반환값x 함수 가리키는 포인터

int* (*f) (int, char)	- int,char인자, int*반환 함수 가리키는 포인터