C语言中有两种函数,一种时传值函数,一种是传址函数,两者各有各的用法
传值函数
函数如其名,该函数的参数是实际的值
当只需要对变量进行操作,而不需要改变变量的值时可以使用该种函数
一个示例
int bg(int x,int y){
if(x>y){
return x;
}
else{
return y;
}
}//该函数返回两数中的较大值
传址函数
该种函数的参数是指针变量,可以通过指针变量完成对内存的修改进而修改实际变量的值
示例如下
void sw(int* x,int* y){
int tmp=*x;
*x=*y;
*y=tmp;
}
void main(){
int x=1;
int y=2;
printf("x=%d\n",x);
printf("y=%d\n",y);
sw(&x,&y);//指针变量
printf("x=%d\n",x);
printf("y=%d\n",y);
}
运行效果如图
可见x,y的值已经成功互换了