함수 포인터

유명현·2022년 1월 2일
0

함수 포인터는 먼저 함수의 반환값 자료형을 지정해주고, 함수 포인터 이름 앞에 * (애스터리스크)를 붙인 뒤 ( ) (괄호)로 묶어줍니다. 그리고 다시 괄호를 붙여 함수라는 것을 알려줍니다.

void hello_world(void)
{
	printf("hello wrold");
}

int main()
{
    void (*function_pointer)();
    function_pointer = hello_world();
    function_pointer();
}

위와 같이 함수포인터를 사용하지만 이런 방식은 Full pointer type이라고 하며, 사용하기에 번거러운 점이 많아 typedef로 많이 사용합니다.

typedef int (*calculator_t) (int x, int y);

int add (int x, int y)
{
    return (x + y);
}

int main()
{
    calculator_t calculator;
    calculator = add;
    calculator(10, 20); 
}

이렇게 함수 포인터를 typedef로 정의해서 사용하면 가식성이 높고 사용하기 편한 함수 포인터를 사용할 수 있다.

profile
기억보다 기록을

0개의 댓글