你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

typedef的非寻常用法??

[复制链接]
sincomaster 发布时间:2020-9-5 22:44
最近在(深入理解C指针)的书上看到这么一节代码,
对于我这新手来说,是没见过的!
大家对这个用法熟吗?能说说你们的意见吗?
  1. typedef int (*operation)(int, int);
  2. typedef int (*fptrOperation)(int,int);
  3. operation vector[128] = {NULL};

  4. int add(int num1,int num2)
  5. {
  6.         return num1 + num2;
  7. }

  8. int sub(int num1,int num2)
  9. {
  10.         return num1 - num2;
  11. }

  12. void initVectorArray(void)
  13. {
  14.         vector['+'] = add;
  15.         vector['-'] = sub;
  16. }

  17. int eva(char opcode,int num1,int num2)
  18. {
  19.         fptrOperation operation;
  20.         operation = vector[opcode];
  21.         return operation(num1,num2);
  22. }

  23. int main(void)
  24. {
  25.         initVectorArray();
  26.         printf("%d\n",eva('+',5,6));
  27.         printf("%d\n",eva('-',5,6));

  28.         system("pause");
  29.         return 0;
  30. }
复制代码


收藏 评论2 发布时间:2020-9-5 22:44

举报

2个回答
sincomaster 回答时间:2020-9-5 22:51:21
以前这只见过这种:
typedef unsigned int uint_8;

uint_8 x,y;

typedef struct a
{
......
}A;

看来还是太菜了

ltbo4b8d6e 回答时间:2020-9-7 14:50:21
你这个是c++?

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版