传值引用和调用引用的区别

Posted lovemargin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传值引用和调用引用的区别相关的知识,希望对你有一定的参考价值。

只需要记住一句话:

传值引用一般就是生成一个临时对象,而引用调用是调用参数本身。

参照下面C语言代码理解:

在 test.h文件里实现两个方法


 #include <stdio.h>

/*交换两个数*/
void exchange(int x,int y){
    int temp;
    temp = x;
    x = y;
    y = temp;
    printf("交换后第一个数:
%d
交换后第二个数:
%d
",x,y);
} 

/*交换两个数的指针*/
void exchangeAddress(int *x,int *y){
    int temp = *x;
    *x = *y;
    *y = temp;
    printf("交换后第一个数:
%d
交换后第二个数:
%d
",*x,*y);
} 

在 test.c文件里调用这两个方法如下:

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

int  main(){
    int a, b;
    printf("请输入a: 
");
    scanf("%d",&a);
    
    printf("请输入b: 
");
    scanf("%d",&b);

    exchange(a,b);
    printf("交换后:
 a=%d
 b=%d
",a,b) ;
    
    exchangeAddress(&a,&b);
    printf("交换地址:
 a=%d
 b=%d
",a,b) ;

} 
    

打印结果:

 

技术图片

 

以上是关于传值引用和调用引用的区别的主要内容,如果未能解决你的问题,请参考以下文章