打印

这叫什么函数

[复制链接]
1600|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电信小菜|  楼主 | 2013-10-30 11:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void (* const USB_P_EP[16]) (uint32_t event) =
{                               
  P_EP(0),
  P_EP(1),
  P_EP(2),
  P_EP(3),
  P_EP(4),
  P_EP(5),
  P_EP(6),
  P_EP(7),
  P_EP(8),
  P_EP(9),
  P_EP(10),
  P_EP(11),
  P_EP(12),
  P_EP(13),
  P_EP(14),
  P_EP(15),
};
谁帮忙稍微解释一下

相关帖子

沙发
ayb_ice| | 2013-10-30 11:20 | 只看该作者
函数指针数组

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
电信小菜 + 2
板凳
bingmcu| | 2013-10-30 11:28 | 只看该作者
2楼正解

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
电信小菜 + 2
地板
lhchen922| | 2013-10-30 12:42 | 只看该作者
2楼正解

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
电信小菜 + 2
5
diweo| | 2013-10-30 12:42 | 只看该作者
本帖最后由 diweo 于 2013-10-30 12:44 编辑

int add(int a,int b); ...
int sub(int a,int b); ...
int mul(int a,int b); ...
int div(int a,int b);  ...

int (*op[4])(int,int)={add,sub,mul,div};

int result;
result=(*op[0])(12,3);   //15
result=(*op[1])(12,3);   //9
result=(*op[2])(12,3);   //36
result=(*op[3])(12,3);   //4

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
电信小菜 + 2
6
电信小菜|  楼主 | 2013-10-30 13:49 | 只看该作者
接1L:
if (USB_P_EP[m])    这个判断是什么意思

使用特权

评论回复
7
diweo| | 2013-10-30 14:28 | 只看该作者
判断是不是空指针

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
电信小菜 + 2
8
黄小俊| | 2013-10-30 19:27 | 只看该作者

使用特权

评论回复
9
outstanding| | 2013-10-31 08:29 | 只看该作者
函数指针数组

使用特权

评论回复
10
sunhq02| | 2013-10-31 08:32 | 只看该作者
楼主是故意逗大家玩的,一定

使用特权

评论回复
11
电信小菜|  楼主 | 2013-10-31 12:00 | 只看该作者
sunhq02 发表于 2013-10-31 08:32
楼主是故意逗大家玩的,一定

你高估我了

使用特权

评论回复
12
McuPlayer| | 2013-10-31 12:16 | 只看该作者
使用下面的写法,可读性更好:

typedef void (* const PFUN) (uint32_t event);

PFUN  usb_p_ep[16] =
{                              
  P_EP(0),
  P_EP(1),
  P_EP(2),
  P_EP(3),
  P_EP(4),
  P_EP(5),
  P_EP(6),
  P_EP(7),
  P_EP(8),
  P_EP(9),
  P_EP(10),
  P_EP(11),
  P_EP(12),
  P_EP(13),
  P_EP(14),
  P_EP(15),
};

使用特权

评论回复
13
i55| | 2013-10-31 17:09 | 只看该作者
目测楼猪用谭浩强的书学的c语言,其实你要是用《pointers on c》来学的话就没这些问题了,讲得很清楚。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

236

帖子

2

粉丝