如何解决这个 C 函数签名实际上是什么意思?
这个类型签名是什么意思?我无法绕过它
int (*) ( int(*) (int,int*),int * *)
提前致谢!
解决方法
int (*) ( // a pointer to a function that return int
int(*) (int,int*),// 1st argument is a function pointer (A)
int * * // 2nd argument is a pointer to a pointer to int
)
(A) 是:
int(*) ( // a pointer to a function that return int
int,// 1st argument is int
int* // 2nd argument is a pointer to int
)
因此,它表示指向返回类型为 int
且第一个参数是“指向返回类型为 int
且第一个参数为 int
的函数的指针,并且第二个参数是指向 int
" 的指针,第二个参数是指向 int
的指针。
int (*) ( int(*) (int,int * *)
是指向具有返回类型 int
和参数类型 int(*) (int,int * *
第一个参数类型 int(*) (int,int*)
是一个指向返回类型为 int
的函数的指针,以及两个类型为 int
的参数和指向 int
的指针。
第二个参数类型 int * *
是一个指向 int
的指针。
所以整个类型是一个指向函数的指针:
- 返回类型
int
, - 第一个参数类型为返回类型为
int
的函数的指针,类型为int
的参数和类型为int
的参数,以及 - 指向
int
的指针类型的第二个参数。
这是什么意思
int (*) ( int(*) (int,int * *)
是一个
pointer to function (pointer to function (int,pointer to int) returning int,pointer to pointer to int) returning int
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。