Joh*_*ith 2 c function-pointers
我正在学习C,特别是函数指针,我想我理解基础知识.
但是,这种语法让我感到困惑,我不知道如何阅读这个.我通过cdecl运行它并尝试一遍又一遍地阅读它,但我不知道如何处理它.
char (* ( *f())[])();
Run Code Online (Sandbox Code Playgroud)
我已经尝试编译它,它的工作原理.我意识到这里有一个指向函数的指针,并且它本身返回一个函数指针 - 但是,我不知道如何真正读取它.我去open-std检查规范,但无法找到函数指针的函数指针的确切语法.
如果有人能为我解决这个问题 - 或者告诉我如何自己解决这个问题我会非常感激.解答如何在将来解决这些问题的答案的额外要点.我尝试在Google和这里搜索类似的问题,但无法找到任何复杂的内容.
那么,以下可能有所帮助
f // identifier f
f() // is a function
*f() // that returns a pointer
(*f())[] // to an array
*(*f())[] // of pointers
(*(*f)[])() // to functions
char (* ( *f())[])(); // returning char.
Run Code Online (Sandbox Code Playgroud)