C语言_18函数指针与函数指针数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言_18函数指针与函数指针数组相关的知识,希望对你有一定的参考价值。
1.指向函数的指针
(1).定义函数指针
指针 (*p)
指向函数 (*p)(char *)
函数的返回值为int
int (*p)(char *)
//返回值类型 (*指针变量名)(指针变量指向的参数类型);
int (*p)(char *);
int (*p)(int,int);
//指向print函数
//函数在表达式中将转换为该函数的指针
(2).使用函数指针
#include<stdio.h>
int main()
int (*p)(char *) = printf;
int n = (*p)("helloworld");
printf("%c", n);
return 0;
运行结果:
#include<stdio.h>
int Max(int, int);//函数声明
int main()
int (*p)(int, int);//定义函数指针
int a, b, c;
p = Max;//把函数Max赋给指针变量p,使p指向Max函数
printf("Enter a and b:\\n");
scanf("%d %d", &a, &b);
c = (*p)(a, b);//通过函数指针调用Max函数
printf("Max=%d", c);
return 0;
int Max(int x, int y)
int d;
if (x> y)
d = x;
else
d = y;
return d;
2.函数指针数组
(1).定义函数指针数组
//返回值类型 (*函数指针数组名)[元素个数](函数指针指向的函数类型);
int (*parr)[10](int,int);
//返回值类型 (*函数指针数组名[元素个数])(函数指针指向的函数类型);
int (*parr[10])(int,int);
(2).使用函数指针数组
#include<stdio.h>
void add();
void sub();
void mul();
void div();
int main()
void (*parr[4])()=add,sub,mul,div;
for(int i=0;i<4;i++)
(*parr[i])();
return 0;
void add()
printf("+++++\\n");
void sub()
printf("-----\\n");
void mul()
printf("*****\\n");
void div()
printf("/////\\n");
运行结果:
持续更新【C语言】系列!有需要的可以移步主页秃头程序员主页
以上是关于C语言_18函数指针与函数指针数组的主要内容,如果未能解决你的问题,请参考以下文章