목록2025/04/02 (2)
나만의 작은 도서관

함수 포인터란?리턴_타입 (*포인터_이름)(매개변수_타입) // exampleint (*ptr_fn)(int, int);int (*ptr_fn)(int (*)[3], int);함수 포인터란 callable 한 개체 중 하나로, 함수의 위치를 가리키는 포인터를 의미한다.함수를 변수처럼 포인터로 가리킬 수 있는 이유는 함수가 프로세스 메모리 구조 중 코드 영역(code segment)에 저장되어 있기 때문이다.함수 포인터는 C언어에서 넘어온 문법이다.함수는 정적 배열처럼 이름이 시작 주소값이 되므로, 함수 포인터에는 함수 이름을 대입한다. 함수 포인터 예제int max(int a, int b); // 함수 선언int (*ptr_max)(int, int); // 함수 포인터 선언ptr_max = max; /..

콜백 함수란?콜백 함수란 다른 함수의 매개변수로 전달되어 특정 시점에 실행되는 함수를 의미한다. 콜백 함수 예제아래 코드에서 CallableType은 호출 가능한 타입을 의미하며(뒤에서 설명), 실제로 존재하는 타입 식별자는 아니다.// 함수를 매개변수로 받는 함수void process(int a, int b, CallableType callback) { int sum = a + b; callback(sum); // 콜백 함수 호출}콜백 함수를 사용하는 이유콜백 함수는 “동작(함수)을 직접 실행하지 않고 넘겨준다”는 것이 핵심이다. 이렇게 동작을 함수에게 넘겨줬을 경우 아래와 같은 장점을 가지게 된다. 유연성과 코드 재사용성 (Flexibility & Code Reusability)상황에 따..