这个C语句是什么意思?

Ton*_*ion 24 c pointers

我遇到过这一行:

void (*(*x)(void (*[10])(int *)))(int *)
Run Code Online (Sandbox Code Playgroud)

谁能告诉我它是什么?

Jes*_*ood 42

要想彻底解决这个问题,请从最里面的括号开始,然后逐步解决问题.

  1. (*[10]) <----数组10指针
  2. (*[10])(int *)<------指向函数的10个指针的数组,指针指向int其参数
  3. (void (*[10])(int *))<------指向函数的10个指针的数组,其指针int作为其参数并返回void
  4. (*x)(void (*[10])(int *))<------- x是一个指向一个函数的指针,该函数有一个参数(一个10个指向函数的数组,它有一个指向int作为参数的指针并返回void)

.....

我中途停了下来,但希望这有帮助.


Set*_*gie 10

cdecl对这种事情非常有帮助.它说:

声明x作为函数的指针(指向函数的指针的数组10(指向int的指针)返回void)返回指向函数的指针(指向int的指针)返回void