c - 函数指针处理程序

标签 c

我正在尝试为初始化系统编写函数,同时插入函数指针以使用系统索引和值进行系统触发处理 那么我如何访问变量indexvalSystem_Init功能

typedef void (*System_Handler)(unsigned int short indx, char val);

void System_Init(Switch_Handler sw_hdl)
{
  unsigned short int test; 
  test = indx;
  /* Need to access variables indx and val  Here . How can we do ?*/
}

最佳答案

函数指针不与一组函数参数捆绑在一起。 您必须单独提供参数,通常是将它们与函数指针一起传递:

typedef void (*System_Handler)(unsigned int short indx, char val);

void System_Init(System_Handler sw_hdl, unsigned short indx, char val)
{
  unsigned short int test; 
  test = indx;
  //...
  sw_hdl(indx,val);
}

关于c - 函数指针处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56258698/

相关文章:

我们可以将权限从用户更改为 root 吗?

c - While Loop 永远运行并且不在二分查找中返回

c - MATLAB mex - undefined symbol _max

复制字符串的子部分

C 函数编译成汇编代码

c - 这两个 C 函数调用有什么区别?

c - 我如何修改这个迭代服务器以获得最高的文件描述符?

c - ubuntu/i7 上的执行时间和 gettimeofday

c - 如何从gdb的 "info symbol"命令获取确切位置

c - 由 NULL 指针分配的内存