关于引用传参C和C++的问题

本文通过示例代码展示了在C语言中如何使用指针传递参数来达到类似引用传参的效果,并解释了为什么纯C文件无法直接使用引用传参。

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

代码如下:

#include<stdio.h>
#define pai 3.1415926
typedef struct{
    float r;
    float x;
    float y;
    float C;
    float S;
}Circle;
void cir(float r,float x,float y,float* C,float* S)
{
    *C=2*pai*r;
    *S=pai*r*r;
    //return 0;
}
//这里是不行,因为保存的是.c文件 
//引用传参在纯C文件中是无法使用的,但是如果保存的时候后缀名为.cpp就可以使用下列函数 
//void cir(float r,float x,float y,float& C,float& S)
//{
//    C=2*pai*r;
//    S=pai*r*r;
//    //return 0;
//}
int main(void)
{
    float r=1;
    float S=0.0,C=0.0;
    cir(r,1.0,1.0,&C,&S);
    printf("C=%.2f,S=%.2f\n",C,S);
    
    return 0;
} 

从以上测试可得,纯C文件是无法使用引用传参的,这时候可用借助指针传参来实现与引用传参一样的功能

如果后缀名为.cpp文件就可用使用引用传参。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值