您的位置:首页 > 编程语言 > C语言/C++

C语言:传值,传地址

2017-02-09 21:28 148 查看
形参:形式参数
实参:实际参数

传值:
  把实参的值复制给形参,
  修改函数内的形参,不会影响实参。



传地址:
  指针传值,形参为指向实参地址的指针
  当对形参的指向操作时,相当于对实参本身进行的操作

#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: