什么是指针做函数参数
发布网友
发布时间:2022-04-23 18:40
我来回答
共1个回答
热心网友
时间:2023-11-04 00:13
void
test(int
*
a)
[传址];
可以修改a的值,
而void
test(int
a)[传值];
无法修改a的值
最好的例子是交换a和b的值:如void
swap(int
a,int
b)这样传参,无法实现交换;
但void
swap(int
*a,int
*b)则可以实现交换目的。
原因在于传指针相当于传地址,也就是在函数体内会生成一个地址的副本,但是地址值是一样的,则对同一个地址值进行操作,自然就能修改其值了。