值傳遞和引用傳遞在C語言學習的過程中,總會讓很多人困擾,在此對此進行簡單的介紹,希望對大家有些幫助。
工具/原料
c語言
方法/步驟
時間的代碼如下:通過互換值進行設置,下面的代碼可以運行:
#include
main方法中:int i=3,這句話在內存中開闢了一個空間並且保存了3
同理int j=5;
在swap方法中,swap(i,j)中的i,j都是從主函數中傳過來的值,並且它們也創建了兩個內存空間,所以它們只是在swap方法中進行了調換對main方法中的i,j沒有影響。
這種叫做值傳遞。
void swap(int *p,int *q){ int temp=*p; *p=*q; *q=temp; }main(){ int i=3; int j=5; swap(&i,&j); printf("i的值為:%d\n",i); printf("j的值為:%d\n",j); system("pause"); }
int i,j;都開闢了自己的空間,並且地址不同,swap中創建p,q的時候又創建了兩個空間,p中存放的是i的地址,q中存放的是J的地址
*p中表示的是i的值,*q中存放的是j的值,所以其改變能夠改變i,j的值
引用傳遞:就是在傳遞的時候傳遞過去的是對象,把引用傳過去之後,然後再修改值,就可以完成交換,其實在轉換的過程中修改的是地址值。
其實引用傳遞也是一個值傳遞,只不過其傳遞的是一個地址。