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

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