这是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函数调用。
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
typedef
elemtype
*triplet
是定义一个triplet类型,它与elemtype
*等价。
triplet
&t不是C的用法,这是C++的引用参数传递,这样对形参t的修改会反映到实参本身。
- 2 回答
- 0 关注
- 227 浏览
添加回答
举报
0/150
提交
取消
