在程序設計copy這個函數的時候,沒有給copy函數一個return值,然后在主函數里面有進行調用,根據c語言函數的封裝性可得,函數里面的變量只能再函數內部生效,那么在主函數里面調用copy這個函數不就是沒有效果了嗎,跪求慕課網的大神的解答
1 回答
已采納

onemoo
TA貢獻883條經驗 獲得超454個贊
對,函數中的變量只在函數中有效,包括函數的形參。而且調用函數傳參是值傳遞,也就是形參只是得到實參的值,你在函數中改變形參無法影響外面的實參。
但是當形參是數組類型時(也就是你這里的情形),有些不同:
你可以簡單地把數組類型形參當作和實參是一樣的,所以在函數中操作形參數組就相當于操作外面的實參數組。
我不知道你學指針了沒,實際上這是指針相關的知識:
函數形參為數組類型時,該形參相當于是數組元素指針類型。而調用函數傳遞實參數組時,相當于傳入指向實參數組首元素的指針。 這樣在函數中使用這個形參就相當于是使用指針,也就是利用指針來影響外部的實參了。 ?這是根本的解釋,不過如果你還沒學指針,就按照上一段來理解吧。
- 1 回答
- 0 關注
- 1638 瀏覽
添加回答
舉報
0/150
提交
取消