0
A
回答
2
它將按值傳遞,如果你不通過引用&
指定通。
但是數組衰減爲指針,所以你基本上是按值傳遞一個指針,這意味着它指向的內存將是相同的。
通常而言,修改arr
函數內部會修改原始的arr
(不會創建副本)。
此外,一維數組也不會被自動「通過引用」傳遞,它只是因爲它們衰變爲指針而出現。
2
如果你真的想通過參考陣列傳遞將需要:
void fnc(int (&arr)[5][5]);
沒有內部括號,如阿努比斯先生說,你會試圖通過引用數組這是不可能的有幫助。
通常一個只會寫
void fnc(int arr[][5]);
(你可以寫arr[5][5]
,但前5個被忽略,這可能會導致混亂。)
這傳遞數組的地址,而不是陣列本身,我認爲這是你想要達到的目標。
您還應該考慮向量或其他更高級別數據結構的向量;原始數組對於粗心大意有許多陷阱。
相關問題
- 1. 傳遞一個多維數組在C++
- 2. Lua傳遞多維數組
- 3. 將多維數組傳遞給函數?
- 4. 將多維數組傳遞給函數
- 5. 從javascript到php傳遞多維數組
- 6. 請幫助傳遞多維數組
- 7. 將多維數組傳遞給函數C
- 8. 將多維數組傳遞給函數C
- 9. 將多維數組傳遞給函數(C++)?
- 10. 將多維數組傳遞給函數C
- 11. 傳遞二維數組
- 12. 在C++中爲Fortran程序員傳遞多維數組
- 13. 傳遞/修改多維數組以在C中運行
- 14. 如何將多維數組傳遞給JavaScript從C#?
- 15. 如何將JavaScript多維數組傳遞給c#?
- 16. 多維數組(C++)
- 17. C++多維數組
- 18. C#多維數組
- 19. C#多維數組在C + +?
- 20. 從Android到PHP傳遞數組和多維數組
- 21. 將二維數組傳遞到函數
- 22. 將二維數組傳遞到函數
- 23. 將二維數組從託管C++傳遞到非託管C++
- 24. 如何將C#中的二維數組傳遞給C++?
- 25. 傳遞二維數組到二維數組
- 26. c#session多維數組
- 27. C++多維動態數組
- 28. C++排序多維數組
- 29. 返回多維數組c
- 30. C++中的多維數組
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