포인터 변수에는 반환형 정보와 매개변수 선언의 정보가 모두 표현되어 있어야 한다.
#include <stdio.h>
void SimpleAdder(int n1, int n2)
{
printf("%d + %d = %d \n", n1, n2, n1 + n2);
}
void ShowString(char * str)
{
printf("%s \n", str);
}
int main(void)
{
char * str = "Function Pointer"
int num1=10, num2=20;
void (*fptr1)(int, int) = SimpleAdder;
void (*fptr2)(char *) = ShowString;
/* 함수 포인터 변수에 의한 호출 */
fptr1(num1, num2);
fptr2(str);
return 0;
}
#include <stdio.h>
int WhoIsFirst(int age1, int age2, int (*cmp)(int n1, int n2))
{
return cmp(age1, age2);
}
int OlderFirst(int age1, int age2)
{
if(age1>age2)
return age1;
else if(age2>age1)
return age2;
else
return 0;
}
int YoungerFirst(int age1, int age2)
{
if(age1<age2)
return age1;
else if (age2<age1)
return age2;
else
return 0;
}
int main(void)
{
int age1=20;
int age2=30;
int first;
printf("입장순서 1 \n");
first = WhoIsFirst(age1, age2, OlderFirst);
printf("%d세와 %d세 중 %d세가 먼저 입장! \n\n", age1, age2, first);
printf("입장순어 2 \n");
first = WhoIsFirst(age1, age2, YoungerFirst);
printf("%d세와 %d세 중 %d세가 먼저 입장! \n\n", age1, age2, first);
return 0;
}'프로그래밍언어 > C 언어' 카테고리의 다른 글
| [열혈 C 프로그래밍] 도전! 프로그래밍2 - 도전1 (0) | 2022.12.29 |
|---|---|
| [열혈 C 프로그래밍] '형(Type)'이 존재하지 않는 void 포인터 (0) | 2022.12.28 |
| [열혈 C 프로그래밍] Chapter03 문제 (0) | 2022.12.16 |
| [열혈 C 프로그래밍] 키보드로부터의 데이터 입력과 C언어의 키워드 (0) | 2022.12.16 |
| [혼자 공부하는 C언어] void 포인터 (0) | 2022.12.16 |