值參數:在使用值參數時,是把變量的值傳給函數,函數中對此變量的任何修改都不影響該變量本身的值。
引用參數:使用引用參數時,在函數中對此變量的修改會影響變量的值。
說簡單點,值參數,就是我把身份證復印件給了你,你在上面可以寫幾個字也可以撕掉,但我身份證上面顯示內容不會變也不會被折斷;
而引用參數,就是我把身份證給了你,你在上面寫字,那確實身份證上就會顯示你寫的內容,你把身份證折斷,那就真的是斷了。
來個小程序演示下,一目了然。
再看輸出結果的不同:
如上顯示:用值參數時,變量在函數中被修改後,變量本身沒有變化;用引用參數時,變量在函數中被修改後,確實發生變化。
使用引用參數就要用到關鍵字:ref。用法如上,就是在定義函數和調用函數時在變量前加上關鍵字ref。
用ref關鍵字使用引用變量也有兩個注意事項:
1、由於引用的變量的值會被改變,因此使用的變量必須是變量,也就是“非常量”的變量,舉個例子:const int myNumber = 5;
const,英文含義:常量。被關鍵字const修飾的變量的值不能被改變,所以加上const會發生錯誤。
2、必須使用初始化過的變量。如:int myNumber = 5;可以。 如果這樣定義:int myNumber;就不可以。