网易云课堂_C语言程序设计进阶_第8周:图形交互程序

时间:2023-03-09 18:30:00
网易云课堂_C语言程序设计进阶_第8周:图形交互程序

8.2函数指针

8.2函数指针

 #include <stdio.h>
#include <stdlib.h> void f(int i)
{
printf("void f(),%d\n", i);
} void main()
{
void(*pf)(int) = f;//函数指针 pf(); (*pf)(); (pf)(); system("pause");
}

//函数指针数组

数组存放函数,根据用户输入,执行不同的函数

 #define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h> void f(int i)
{
printf("void f(),%d\n", i);
} void g(int i)
{
printf("void g(),%d\n", i);
} void h(int i)
{
printf("void h(),%d\n", i);
} void main()
{
int i = ;
void(*fa[])(int) = { f,g,h };//函数指针数组 scanf("%d", &i); if (i >= && i <= sizeof(fa) / sizeof(fa[]))
{
(*fa[i])();
} system("pause");
}

函数指针作为函数的参数

 #include <stdio.h>
#include <stdlib.h> int plus(int a, int b)
{
return a + b;
} int minus(int a, int b)
{
return a - b;
} void cal(int(*f)(int, int))//函数指针作为函数的参数
{
printf("%d\n", (*f)(, ));
} void main()
{
cal(plus);// cal(minus);//-1 system("pause");
}