Typedef中一个“PF Register( PF test )”使用实例

#include <stdio.h>

//typedef定义一种类型,带有两个int型参数并返回int型数据
typedef int (*PF) ( const int * ,const int *);

//选出最大的数
int max( const int *x, const int *y )
{
  if( *x > *y )
	  return *x;
  else
	  return *y;
}


//用result和number相加
int add( const int *result, const int *number )
{
  int a; 
  a = *result + *number;
  return a;
}

//Register为PF类型,Register只有一个参数test并且为PF类型
//返回的add为PF类型
PF Register( PF test )
{
   return add;
}


int main()
{   
   int kk = 2;
   int kl = 2;
   PF m;
   m = Register( max );//把add的入口地址给到m(PF类型)
   printf( "%d\n", m( &kk, &kl));//结果4
   return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值