值傳遞是指在調用函數時將實際參數複製一份傳遞到函數中,這樣在函數中若是對參數進行修改,將不會影響到實際參數函數
#include<stdio.h> void fun(int num) { num=0; //修改參數 } int main() { int a=1; fun(a); //調用fun函數 printf("%d",a);//輸出變量,變量的值沒改變 return 0; }
如圖:spa
引用傳遞是指在調用函數時將實際參數的地址傳遞到函數中,那麼在函數中對參數所進行的修改,將影響到實際參數。code
#include<stdio.h> void fun(int* num) { *num= 0; //修改參數 } int main() { int* a ; *a = 1; fun(a); //調用fun函數 printf("%d",*a);//輸出變量,變量的值已改變 return 0; }
如圖:對象
其實時將地址的值複製給num。blog
總結的一句話:get