-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 –