一、值传递
例1:
// swap.c
#include
int main()
{
int a = 20;
int b = 30;
int c = 0;
printf("a is %d, b is %d\n", a, b);
c = a;
a = b;
b = c;
printf("now, a is %d, b is %d\n", a, b);
}
思考:
两个变量交换值,经常会用到,可以把它提炼成一个函数,供复用。
例2:
// swap.c
#include
void swap(int a, int b)
{
int c = 0;
c = a;
a = b;
b = c;
}
int main()
{
int a = 20;
int b = 30;
printf("a is %d, b is %d\n", a, b);
swap(a, b); // 将a和b的副本传递过去
// 函数调用完后,swap的空间就出栈了,a