形参:形式参数
实参:实际参数
传值:
把实参的值复制给形参,
修改函数内的形参,不会影响实参。
传地址:
指针传值,形参为指向实参地址的指针
当对形参的指向操作时,相当于对实参本身进行的操作
#include <iostream> // 交换位置 // “值调用” void swap_value(int x, int y) { int temp = x; x = y; y = temp; } // “引用调用1”,形参:传的是地址,取得是值(*) void swap_p(int *x, int *y) { int temp = *x; *x = *y; *y = temp; } // “引用调用2”,形参:传的是值,接的是地址 void swap_addr(int &a, int &b) { int temp = a; a = b; b = temp; } main() { int x = 0; int y = 1; printf("x = %d, y = %d\n", x, y); swap_value(x, y); printf("传值调用后:x = %d, y = %d\n", x, y); swap_p(&x, &y); printf("传地址调用后:x = %d, y = %d\n", x, y); swap_addr(x, y); printf("传值接地址调用后:x = %d, y = %d\n", x, y); }
x = 0, y = 1
传值调用后:x = 0, y = 1
传地址调用后:x = 1, y = 0
传值接地址调用后:x = 0, y = 1