1. 程式人生 > >傳值引用和調用引用的區別

傳值引用和調用引用的區別

生成 ima chang img 代碼 src oid inf clas

只需要記住一句話:

傳值引用一般就是生成一個臨時對象,而引用調用是調用參數本身。

參照下面C語言代碼理解:

在 test.h文件裏實現兩個方法


 #include <stdio.h>

/*交換兩個數*/
void exchange(int x,int y){
    int temp;
    temp = x;
    x = y;
    y = temp;
    printf("交換後第一個數:\n%d\n交換後第二個數:\n%d\n",x,y);
} 

/*交換兩個數的指針*/
void exchangeAddress(int *x,int
*y){ int temp = *x; *x = *y; *y = temp; printf("交換後第一個數:\n%d\n交換後第二個數:\n%d\n",*x,*y); }

在 test.c文件裏調用這兩個方法如下:

#include <stdio.h>
#include "test.h"

int  main(){
    int a, b;
    printf("請輸入a: \n");
    scanf("%d",&a);
    
    printf("請輸入b: \n");
    scanf(
"%d",&b); exchange(a,b); printf("交換後:\n a=%d\n b=%d\n",a,b) ; exchangeAddress(&a,&b); printf("交換地址:\n a=%d\n b=%d\n",a,b) ; }

打印結果:

技術分享圖片

傳值引用和調用引用的區別