代码如下:
#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文件就可用使用引用传参。