做爲一個新手的程序猿,前兩天被問到值傳遞和引用傳遞的區別的時候,一臉茫然,不知所措。在查閱相關資料之後,決定記錄下來。函數
在使用的時候,只是將變量的值傳遞給了函數,函數在處理改值的時候,只是在函數內部對值進行操做和改變,可是,函數運行完以後,並不會改變傳遞過去的值。至關於把變量複製了一份過去。code
在使用的時候,將變量的內存地址也傳遞過去,在對變量進行操做的時候,會改變變量的地址。函數運行完成後,變量的值會發生變化。內存
#include<stdio.h> void testn(int a){ a++; printf("%d\n",a); } int main(){ int a=10; testn(a); printf("%d\n",a); return 0; }
以上爲值傳遞的實例,
運行結果:io
11 10
#include<stdio.h> void testn(int& a){ a++; printf("%d\n",a); } int main(){ int a=10; testn(a); printf("%d\n",a); return 0; }
以上爲引用傳遞的實例, 運行結果:test
11 11