C 함수 포인터 별칭 - sonkoni/Koni-Wiki GitHub Wiki

함수포인터 별칭

함수포인터 별칭은 일반적인 타입의 별칭과 형태가 조금 다르다

typedef 반환값자료형 (*함수포인터별칭)(매개변수자료형1, 매개변수자료형2, ...);
#include <stdio.h>

typedef int (*CalcFunc)(int, int);  // 함수포인터 별칭 정의

int Add(int a, int b) {
    return a + b;
}

int Mul(int a, int b) {
    return a * b;
}

typedef struct CalcBox {
    CalcFunc exec;
    int a;
    int b;
} CalcBox;

int main(int argc, char *argv[]) {
    CalcBox c = {Add, 10, 5};
    printf("=> %d\n", c.exec(c.a, c.b));
    // => 15
    
    CalcFunc fp[2] = {Add, Mul};
    printf("=> %d\n", fp[0](10, 5));
    printf("=> %d\n", fp[1](10, 5));
    // => 15
    // => 50
    
    return 0;
}
⚠️ **GitHub.com Fallback** ⚠️