-1
A
回答
1
它将func
定义为接受3个整数并返回整数的函数的类型。
当您将函数作为回调函数传递或将函数地址放入数组或类似的东西时,这会很有帮助。
0
它定义了一个类型func
,它是一个函数的指针,返回一个int
并取参数3 int
。
使用此的一个例子是:
typedef int (*func) (int, int, int);
int foo(int a, int b, int c) {
return a + b * c;
}
...
// Declare a variable of type func and make it point to foo.
// Note that the "address of" operator (&) can be omitted when taking the
// address of a function.
func f = foo;
// This will call foo with the arguments 2, 3, 4
f(2, 3, 4);
一个更现实的情况可能有一堆具有相同的返回类型的功能和采取的参数相同类型/号码,而且要根据某些变量的值调用不同的函数。您可以将函数指针放在数组中并使用索引来调用相应的函数,而不是拥有大量if
-声明或较大的switch/case
。
0
这是typedef的名称。它的内容:func is a pointer to a function that takes three ints and returns an int.
你可以看到更多关于这link
相关问题
- 1. 模板“使用”声明的这种用法有什么问题
- 2. 什么是有两种指针声明
- 3. 这两种声明自绑定的方式有什么区别?
- 4. 这两种声明外键的方法有什么不同?
- 5. 这两种函数声明有什么区别?
- 6. 这三种声明变量的方式有什么区别?
- 7. 这两种声明风格之间有什么区别/优点
- 8. 这两个声明有什么区别?
- 9. 这个AngularForEach声明有什么问题?
- 10. 这两个声明有什么区别?
- 11. 这个IF声明有什么问题
- 12. 这两个声明有什么区别?
- 13. 这些#import声明有什么区别?
- 14. 这个块声明有什么问题?
- 15. 这两个声明有什么区别?
- 16. 这两个声明有什么区别?
- 17. 这两个声明有什么区别?
- 18. 这是什么声明?
- 19. 为什么这种类型的声明不起作用?
- 20. 为什么这种声明可以在PHP中工作?
- 21. 为什么括号保持这种在同一份声明中
- 22. 为什么angular2以这种方式声明接口?
- 23. 这两种在java中声明对象的方式有什么区别?
- 24. 这两种声明原型方法的方式有什么区别?
- 25. SAP/ABAP中这两种类型的内部表声明有什么区别?
- 26. 这个typedef声明是做什么的?
- 27. 这个CSS声明是什么意思?
- 28. 这个C#声明是什么意思?
- 29. 什么是这两个声明
- 30. 这是什么声明`void func(bool b ...)`?
http://cdecl.org –