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