8.7指针和函数
发布时间:
作用:利用指针作函数参数,可以修改实参的值
示例:
js
//值传递
void swap1(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
//地址传递
void swap2(int *p1, int *p2)
{
int temp;
*p1 = *p2;
*p2 = temp;
}
int main()
{
int a = 10;
int b = 20;
swap1(a, b);//值传递不会改变实惨
cout << "a=" << a << endl;
cout << "b=" << b << endl;
swap2(&a, &b);//地址传递会改变实惨
cout << "a=" << a << endl;
cout << "b=" << b << endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
总结:如果不想修改实参,就用值传递,如果想修改实参,就用地址传递