为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大神可以详细介绍下前面四句的意思吗,c语言造诣不够

哪位大神可以详细介绍下前面四句的意思吗,c语言造诣不够

C C++
跃然一笑 2022-05-13 19:11:21
这是keil工程iap跳转程序,typedef void (*iapfun)(void);//这句是头文件中的定义iapfun jump2app; 这是c文件中的声明jump2app=(iapfun)*(vu32*)(appxaddr+4); //c文件函数中的调用jump2app();//函数中的调用
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

typedef void (*iapfun)(void);
定义函数指针

iapfun jump2app;
定义函数指针对象

jump2app=(iapfun)*(vu32*)(appxaddr+4);
为函数指针对象赋值

jump2app();
调用函数

以下是一个例子:
// 定义一个函数
void fun() { printf("fun\n");}

// 定义函数指针,
typedef void (*lpfn)();

// 注意二者要匹配,否则会报错
lpfn p = fun;

// 调用函数p()效果同fun()
p();

函数指针的一个作用是可以将函数作为参数传递。
回忆一下c语言中的sort函数,用户可以自定义排序准则函数,然后将其提交给sort函数调用。


查看完整回答
反对 回复 2022-05-16
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

typedef
elemtype
*triplet
是定义一个triplet类型,它与elemtype
*等价。
triplet
&t不是C的用法,这是C++的引用参数传递,这样对形参t的修改会反映到实参本身。

查看完整回答
反对 回复 2022-05-16
  • 2 回答
  • 0 关注
  • 227 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号