#include <stdio.h>
#include <malloc.h>
/**
* 1.定义一个值传递函数
* @param a 变量值
* @param b 变量值
*/
void swap_value(int a , int b){
int temp;
temp =a;
a=b;
b=temp;
/*没有返回*/
return;
}
/**
* 2.定义一个地址传递函数
* //例如 int p=6
* @param a 为地址值 = &p
* @param b 为地址值 = &p
*/
void swap_address(int* a , int* b){
//定义一个的变量 :存放地址位置上的值(不是地址)
int temp;
/*把 a地址变量上的值,给temp*/
temp =*a;
/*把 b地址变量上的值,给a地址变量上的值 */
*a=*b;
/*把 temp的值,给b地址变量上的值 */
*b=temp;
/*没有返回*/
return;
}
int main()
{
int x=5,y=3;
/*1.使用值传递 :不会改变原来的值*/
swap_value(x,y);
printf("使用值传递的结果为:x=%d,y=%d\n",x,y);
/*2.使用地址传递 :改变 传入地址值 位置上 原来的值*/
swap_address(&x,&y);
printf("使用使用地址传递的结果为:x=%d,y=%d",x,y);
return 0;
}
使用值传递的结果为:x=5,y=3
使用使用地址传递的结果为:x=3,y=5
进程已结束,退出代码为 0