函数指针的用法
- 需要一定C语言基础的
- 定义形式:[函数返回值类型 (* 指针变量名) (函数参数列表);]
- 上代码
enum{//枚举func_add = 1,func_sub ,
};
uint32_t (*pfunc[3])(uint32_t add1,uint32_t add2);//函数指针的数组,数组里面的每个指针都指向一个函数
uint32_t func_sum(uint32_t add1,uint32_t add2){//函数return (add1+add2);
}
//第一个入参 为函数指针
uint32_t show(uint32_t(*pfunc)(uint32_t add1,uint32_t add2),const uint32_t temp1,const uint32_t temp2)
{printf("show_pfunc = %d\r\n",pfunc(temp1,temp2));printf("show_temp = %d\r\n",99);
}
int main (void)
{pfunc[func_add] = func_sum;//数组里面的函数指针指向func_sum[函数]printf("pfunc = %x\r\n",pfunc[func_sub]);//打印指向空的函数printf("pfunc = %d\r\n",pfunc[func_add](1,35));//打印求和函数 show(pfunc[func_add],45,55);//调用show函数
}
运行结果:
pfunc = 0
pfunc = 36
show_pfunc = 100
show_temp = 99
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!