함수 포인터
#include <stdio.h>
int sum(int, int); // 함수 선언
int main(void)
{
int (*fp)(int, int); // 함수 포인터 선언
int res; // 반환값 저장할 변수
fp = sum; // 함수명을 함수 포인터에 저장
res = fp(10, 20); // 함수 포인터로 함수 호출
printf("result : %d\n", res); // 반환값 출력
return 0;
}
int sum(int a, int b) // 함수 정의
{
return (a + b);
}
void포인터
#include <stdio.h>
int main(void)
{
int a = 10; // int형 변수
double b = 3.5; // double형 변수
void* vp; // void 포인터
vp = &a; // int형 변수의 주소 저장
printf("a : %d\n", *(int*)vp);
vp = &b; // double형 변수의 주소 저장
printf("b : %.1lf\n", *(double*)vp);
//printf("b : %.1lf\n", *vp); // 잘못된 표현(data type을 변경해야 한다!)
return 0;
}