<边看美女,边涨知识(脑子)>系列文章目录
文章目录
前言
提示:本篇文章讲解的是函数指针与函数指针数组
还会讲解一个函数指针数组的使用案例“简单的计算器”
提示:以下是本篇文章正文内容,下面案例可供参考
一、函数指针是什么?
我们举个例子大家就明白了什么是函数指针了
整形指针:是存放整形的指针
字符指针:是存放字符的指针
数组指针:是存放数组的指针
那函数指针:就是存放函数的指针
1.回顾一下之前的字符指针的定义方法:
代码如下(示例):
int main()
{
char ch='A';
char *p=&ch;
*p='B';
return 0;
}
2. 函数指针定义方法:
代码如下(示例):
int add(int x,int y)
{
return x+y;
}
int mian()
{
int (*p)(int ,int )=&add;
}
二、函数指针数组
1.什么是函数指针数组
把函数的地址存放到一个数组中,这个数组就叫函数指针数组。
2.函数指针数组如何定义
代码如下(示例):
int add(int x,int y)
{
return x+y;
}
int sub(int x,int y)
{
return x-y;
}
int mian()
{
int (*p[2])(int ,int )={add,sub};
}
三、函数指针数组的用途
函数指针数组的用途:转移表
1.转移表使用案例
代码如下(示例):
#include <stdio.h>
void front()
{
printf("**********************************\n");
printf("** 1.加法 2.减法 **\n");
printf("** 3.乘法 4.除法 **\n");
printf("** 5.取余 0.结束 **\n");
printf("**********************************\n");
printf("请选择:\n");
}
void add()
{
printf("加法模式\n");
int x = 0;
int y = 0;
int ret = 0;
scanf("%d %d", &x, &y);
ret = x + y;
printf("%d + %d=%d\n", x, y, ret);
}
void sub()
{
printf("减法模式\n");
int x = 0;
int y = 0;
int ret = 0;
scanf("%d %d", &x, &y);
ret = x - y;
printf("%d - %d=%d\n", x, y, ret);
}
void mul()
{
printf("乘法模式\n");
int x = 0;
int y = 0;
int ret = 0;
scanf("%d %d", &x, &y);
ret = x * y;
printf("%d * %d=%d\n", x, y, ret);
}
void div()
{
printf("除法模式\n");
int x = 0;
int y = 0;
int ret = 0;
scanf("%d %d", &x, &y);
ret = x / y;
printf("%d / %d=%d\n", x, y, ret);
}
void dre()
{
printf("取余模式\n");
int x = 0;
int y = 0;
int ret = 0;
scanf("%d %d", &x, &y);
ret = x % y;
printf("%d %d=%d\n", x, y, ret);
}
void (*pf[6])() = { NULL,add,sub ,mul ,div ,dre };
int main()
{
int select = 0;
do
{
front();
scanf("%d", &select);
if (select>0&&select<=5)
{
pf[select]();
}
else if(select==0)
{
printf("退出成功\n");
break;
}
else
{
printf("非法输入,请从新输入\n");
}
/*
switch (select)
{
case 1:
add();
break;
case 2:
sub();
break;
case 3:
mul();
break;
case 4:
div();
break;
case 5:
dre();
break;
case 0:
printf("退出计算器\n");
break;
default:
printf("非法输入,请从新输入\n");
break;
}*/
} while (select);
return 0;
}
总结
这里对文章进行总结:
以上就是今天要讲的内容,本文简单介绍了函数指针与函数指针数组
的使用。