1樓:匿名使用者
這樣的好處就是,保證了實參不變,另外一個函式呼叫實參是,可以呼叫未被改變的值
當實參傳遞給形參以後,在函式體內對形參進行操作,就是說這個函式體內的操作是有效果的,如果該函式有返回值,那麼返回值是結果操作得出的
就是相當於,m傳入工廠中,然後工廠進行有m參與的操作得出的結果n是有效的,你可以理解為,m是個樣品,m傳入工廠中後,工廠複製了一個m然後加工得到n,把原份m又返回回去了
2樓:匿名使用者
可以這麼簡單理解: 你把n 傳進去,我們的目的可能有兩個, 改變n的值, 或者用n來生成別的數值(比如引數有很多個,例如 傳a,b,c算2次方得根,我們並不是要改變abc,而是通過abc計算別的值)
所以不是沒事找事的...
還有如果你想改變n的值這麼寫:
int fun(int& n)
關於改變原來的值通常有兩種方法: 一個是指標,一個是引用(上面的就是)
當你確定實參被改變你就用引用,工程中也是這個原則希望對你又幫助, 有問題歡迎繼續hi我
3樓:匿名使用者
這就是編譯器的設定,函式就是要保留原實參的不變性。如果想改變實參的值,可以傳遞指標。如
void s(int n) 這是不會修改n的值,但寫成void s(int * p) 然後呼叫的時候寫成s(&n)那麼n的值就改了
4樓:匿名使用者
你把原材料m送到工廠int s(int n),它加工成產品你不要也沒辦法,想要加工後的就要用另一個變數來接收,或者是printf("m=%d\n",s(m));
5樓:蕭曼
你再給m賦值一下不就行了:m=s(m);
形參和實參的區別是什麼,c語言中形參和實參是什麼意思?有什麼區別?
實參是用來填充形參的。當函式被呼叫時,形參列在函式名後面的括號裡。執行函式呼叫時,實參被傳遞給形參。1 形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。2 實參可以是常量 變數 表示式 ...
c語言,關於形參實參單向值傳遞
分兩種情況bai給你對比一下du 函式形參zhi用普通變數,當dao函式被呼叫的時候,實參的版值被賦值給權 了形參,函式被呼叫的時候開闢了記憶體空間給形參,也就是資料被複制了,然後函式開始處理形參的資料,這個時候和實參的資料是沒有任何關係了。當函式結束的時候形參的記憶體空間是要被釋放,或者說刪除的,...
C語言中,用陣列名作形參和用指標作形參有區別嗎
還是有差別的 雖然大多數時候都可以相互用最大的差別就是指標可以改版變,可以通過指標改變指向內權容的值,但陣列名不行 舉個例子 分別作為形參 int num 10 p p num 此時p指向陣列的第一個元素我在主函式裡呼叫兩個函式 1 sum num 2 sum p 2,10 這就有區別了,因為num...