函数的参数传递有三种方式:值传递,指针传递,引用传递
假如定义一个函数 func(int a)
现在有一个整型变量int x = 8;
1、值传递:func(x),就是调用函数时将x的值传入函数,注意!!!这时传入的是x变量的副本,而不是x变量本身,虽然副本和本身的值一样,但是存储地址不一样,所以对副本的改变不会影响本身。
2、指针传递:直接将变量x的地址传入,这是func()函数要改写,func(int *a);然后定义一个指针
指向x :int *px = x;此时调用func(px),因为传入的是x的地址,所以此x就是确定的,更改指针所指位置的值,也就更改了x的值
追问2、指针传递 不太懂哦
追答这么来说吧,如果有两个变量int x=4;int y=4;那么计算机如何区分这两个值相等的变量呢?所以计算机给两个不同的变量分配了两个不同的地址,地址是唯一的。用值传参只是传的4这个值,而指针传的是变量的地址,函数就会修改地址所在位置变量的值。
本回答被提问者和网友采纳