0
A
回答
2
它將按值傳遞,如果你不通過引用&
指定通。
但是數組衰減爲指針,所以你基本上是按值傳遞一個指針,這意味着它指向的內存將是相同的。
通常而言,修改arr
函數內部會修改原始的arr
(不會創建副本)。
此外,一維數組也不會被自動「通過引用」傳遞,它只是因爲它們衰變爲指針而出現。
2
如果你真的想通過參考陣列傳遞將需要:
void fnc(int (&arr)[5][5]);
沒有內部括號,如阿努比斯先生說,你會試圖通過引用數組這是不可能的有幫助。
通常一個只會寫
void fnc(int arr[][5]);
(你可以寫arr[5][5]
,但前5個被忽略,這可能會導致混亂。)
這傳遞數組的地址,而不是陣列本身,我認爲這是你想要達到的目標。
您還應該考慮向量或其他更高級別數據結構的向量;原始數組對於粗心大意有許多陷阱。
相關問題
- 1. 在C/C++中傳遞多維數組
- 2. C++中傳遞多維數組
- 3. 傳遞一個多維數組在C++
- 4. C++傳遞指針多維數組
- 5. R .C接口:傳遞多維數組
- 6. C,傳遞2維數組
- 7. Lua傳遞多維數組
- 8. 從C#傳遞二維數組到C++
- 9. 將多維數組傳遞給函數
- 10. 將多維數組傳遞給函數?
- 11. 將多維數組傳遞給函數
- 12. 從C#傳遞多維數組到C++ DLL
- 13. 傳遞二維數組功能在C++
- 14. 從javascript到php傳遞多維數組
- 15. Java的傳遞多維數組PHP
- 16. 請幫助傳遞多維數組
- 17. 在PHP傳遞多維數組
- 18. 傳遞多維數組的一部分
- 19. 將多維數組傳遞給Javascript
- 20. 傳遞多維數組,jQuery和AJAX
- 21. 傳遞類之間的多維數組
- 22. 將多維數組傳遞給函數C
- 23. 傳遞多維數組的C函數導致堆棧溢出
- 24. 將多維數組傳遞給函數(C++)?
- 25. 傳遞多維數組作爲參數c
- 26. 將多維數組傳遞給函數C
- 27. 將多維數組傳遞給函數C
- 28. 傳遞二維數組
- 29. 傳遞二維數組
- 30. 在C++中爲Fortran程序員傳遞多維數組
1D數組不會自動通過引用傳遞... – 2012-01-07 16:24:12
int&arr [5] [5]' - >'arr'是兩個int類型的暗淡數組,你想要那個嗎? – 2012-01-07 16:27:18
我的意思是,但在我的代碼中,我感興趣地通過值傳遞,但函數結束後,arr的值發生了變化。 – Shibli 2012-01-07 16:29:25