3
A
回答
6
優勢在於傳遞的大小:當您傳遞一個大的struct
時,編譯器會生成代碼以複製該struct
,如果您按值傳遞它的話。這會浪費CPU週期,並且可能會在程序用完堆棧空間時出現問題,特別是在資源稀缺的硬件(如嵌入式微控制器)中。
當你傳遞一個struct
的指針,你知道該函數不能進行修改它,聲明指針const
強制執行這個規則:
void take_struct(const struct arg_struct *data) {
data->field = 123; // Triggers an error
}
3
是的,指針的大小通常遠小於整個結構的大小。您節省了堆棧和時間。
相關問題
- 1. 將指針傳遞給struct作爲參數
- 2. 將struct傳遞給pthread作爲參數
- 3. 將指針/參考傳遞給變量作爲參數
- 4. 將對象傳遞給以指針作爲參數的函數
- 5. 將參數傳遞給函數指針
- 6. 傳遞一個指針作爲參數傳遞給函數
- 7. 何時將指針的指針作爲參數傳遞給C++中的函數?
- 8. 將指針傳遞給參數爲參考的函數
- 9. 將非指針變量作爲指針的參考傳遞給函數
- 10. 將指針傳遞給struct C中的函數的問題
- 11. 將指針傳遞給proc作爲參數
- 12. C - 將多個指針作爲參數傳遞給pthread_create
- 13. 將`struct`作爲類型名稱傳遞給函數參數
- 14. 傳遞數組指針作爲參數
- 15. 傳遞函數指針作爲參數
- 16. 傳遞函數指針作爲參數
- 17. 將指針傳遞給對指針參數的引用
- 18. 傳遞結構指針作爲參數
- 19. 傳遞指針地址作爲參數
- 20. 傳遞指針數組的指針作爲參數
- 21. 將struct傳遞給函數
- 22. 傳遞一個函數指針作爲參數給fopen
- 23. 嘗試將指針作爲參數傳遞給指向文件的fstream成員
- 24. 傳遞指針作爲參數傳遞給本地函數的PInvoke
- 25. Python,如何將參數傳遞給函數指針參數?
- 26. C++將指針傳遞給函數(Howto)+ C++指針操作
- 27. 將指針傳遞給指針
- 28. 將函數指針的「部分」作爲參數傳遞
- 29. 將指針傳遞給glGenBuffers
- 30. 將值傳遞給指針