首页 > 技术文章 > C和C++中的引用传递

ericling 2019-10-30 16:23 原文

两种引用传递的定义方式

  • 第一种

    
    #include<stdio.h> 
    void changeValue(int *a);
    int main(){
    	int a =1;
    	changeValue(&a);
    	printf("%d",a);
    	
    	return 0;
    }
    
    void changeValue(int *a){
    	*a=12;
    }
    

    Output

    12
    

这里实际上传递的是指针,在形参定义的时候,通过datatype *variable来声明这个参数是指针类型,当然,在函数实现的时候,也应当使用指针的语法来修改这个变量或者传递这个变量的值。

  • 第二种

    
    #include<stdio.h>
    void changevalue(int &a);
    int main(){
    	int a =1;
    	changevalue(a);
    	printf("%d",a);
    	return 0;
    } 
    
    void changevalue(int &a){
    	a=12;
    }
    

    Output

    12
    

这种定义方式,实际上就是&在起作用,表示这个变量是引用传递,而不是值传递。

推荐阅读