c语言中函数指针的应用
2013-08-21 17:51
246 查看
定义:函数的指针是指指向函数的指针。举例如下:
示例1:充当变量
#include <stdio.h>
#define GET_MAX 0
#define GET_MIN 1
int get_max(int i,int j)
{
return i>j?i:j;
}
int get_min(int m,int n)
{
return m>n?n:m;
}
int get_result(int x,int y,int flag)
{
int r;
int (*p)(int,int);
if(GET_MAX==flag)
{
p=get_max;
}
else if(GET_MIN==flag)
{
p=get_min;
}
r=p(x,y);
return r;
}
int main()
{
int a=5,b=8;
int num=get_result(a,b,GET_MAX);
printf("The max is %d \n",num);
return 0;
}
示例2:充当形参
#include <stdio.h>
int get_big(int x,int y)
{
return x>y?x:y;
}
int get_return(int i,int j,int m,int(*p)(int,int))
{
int ret;
ret=p(i,j);
ret=p(ret,m);
return ret;
}
void main()
{
int x=2,y=8,z=9;
int res=get_return(x,y,z,get_big);
printf("%d\n",res);
}
示例3:充当函数的返回值
#include <stdio.h>
int get_big(int i,int j)
{
return i>j?i:j;
}
int (*get_function(int a))(int ,int)
{
printf("the number is %d\n",a);
return get_big;
}
int main()
{
int i=5,j=10,max;
int (*p)(int,int);
p=get_function(100);
max=p(i,j);
printf("the max is %d\n",max);
return 0;
}
示例1:充当变量
#include <stdio.h>
#define GET_MAX 0
#define GET_MIN 1
int get_max(int i,int j)
{
return i>j?i:j;
}
int get_min(int m,int n)
{
return m>n?n:m;
}
int get_result(int x,int y,int flag)
{
int r;
int (*p)(int,int);
if(GET_MAX==flag)
{
p=get_max;
}
else if(GET_MIN==flag)
{
p=get_min;
}
r=p(x,y);
return r;
}
int main()
{
int a=5,b=8;
int num=get_result(a,b,GET_MAX);
printf("The max is %d \n",num);
return 0;
}
示例2:充当形参
#include <stdio.h>
int get_big(int x,int y)
{
return x>y?x:y;
}
int get_return(int i,int j,int m,int(*p)(int,int))
{
int ret;
ret=p(i,j);
ret=p(ret,m);
return ret;
}
void main()
{
int x=2,y=8,z=9;
int res=get_return(x,y,z,get_big);
printf("%d\n",res);
}
示例3:充当函数的返回值
#include <stdio.h>
int get_big(int i,int j)
{
return i>j?i:j;
}
int (*get_function(int a))(int ,int)
{
printf("the number is %d\n",a);
return get_big;
}
int main()
{
int i=5,j=10,max;
int (*p)(int,int);
p=get_function(100);
max=p(i,j);
printf("the max is %d\n",max);
return 0;
}
相关文章推荐
- 关于C语言通过函数传递多个数据————指针的应用
- 011_C语言数组与指针间的转换及函数应用
- 指针的应用(c语言)——(子函数实现交换父函数中变量的值)
- 【C语言提高10】【指针铁律】铁律4:应用指针必须和函数调用相结合(指针做函数参数)
- C语言指针笔记之 一级指针的应用(指针做函数参数)
- 第09天C语言(08):指向函数的指针的应用场景
- C语言进阶之二级指针的应用:重置内存空间大小
- 用C语言指针作为函数返回值
- Android JNI编程(三)——C语言指针的初步认识、指针变量、互换两个数、函数返回多个值
- 函数指针的应用
- C语言之指针、数组和函数
- 理解C语言——从小菜到大神的晋级之路(13)——进一步讨论函数与指针
- 详解C语言结构体中的函数指针
- C语言指针导学(4)——分清函数指针和指针函数
- C语言基础:C语言指针(7) - 指向函数的指针
- 黑马程序员———C语言———【函数指针、指针函数、野指针、内存管理、const关键字】
- C语言->实验室->指针在函数中的使用
- C语言指针函数和函数指针详细介绍
- 【学习ios之路:C语言】函数及递归的简单应用
- C语言 结构体相关 函数 指针 数组