C/C++的函数调用问题。

博客主要对比了C++和C语言函数调用时通过参数回传值的区别。C语言函数参数不能直接传值,需使用指针调用;而C++可采用引用调用的方式让参数传值,C语言则没有引用调用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++和C语言函数调用(想通过参数来回传值,而不是通过函数返回值的方法)是有点区别的。

拿出经典例子:

//函数
void swap(int a, int b){
    int temp;
    temp = a;
    a = b;
    b = temp;
}

//调用
swap(a, b); //是没用的

大家都知道这样调用是没有效果的,那如果是C语言会怎么处理呢?

//C语言的处理方法(C语言要想让参数传值,必须使用指针调用)
void swap(int *a, int *b){
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
//调用
swap(&a, &b);//是可以的

C语言函数参数是不能传回来值的,所以一般要想让参数回传值,必须使用指针。

但如果是C++则可采用这种方式:

//C++的处理方法(C语言没有次方法,所以C++可以让参数通过引用调用来传值)
void swap(int &a, int &b){
    int temp;
    temp = a;
    a = b;
    b = temp;
}
//调用
swap(a, b); //是可以的

这种方式叫做引用调用。

所以说C语言就根本没有引用调用的方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值