函数调用语法

时间:2017-02-17 13:11:12

标签: c func

我正在分析一个C程序,我发现这里有一个奇怪的函数调用函数定义:

static void endSignal (int32_t dummy)
{
  if (nTerminating) return;
  nTerminating=1;
  printf("terminating....\n");
  terminateDLNAsystem();
  sleep(1);
  exit (0);
}

此函数采用int32_t参数! 现在这是调用" endSignal"

的主要功能
int32_t main (int32_t argc, char **argv)
{
/*Statements
.
.
*/
signal(SIGINT, endSignal);
signal(SIGABRT, endSignal);
signal(SIGQUIT, endSignal);
signal(SIGTERM, endSignal);

return 0;
}

主函数调用endSignal而没有任何参数,在这种情况下会发生什么?

1 个答案:

答案 0 :(得分:6)

主要功能调用signal个功能而非endSignal

endSignal是充当回调的参数。

这是将函数指针作为参数传递。

How do you pass a function as a parameter in C?