原始值是否被改变,关键看你的传递方式
1 按值传递,函数操作的是原值的拷贝,自然改变不了原始值,慢,但安全,结构默认的就是这种传递方法。在用数组名做函数的参数时,把实参数组的起始地址传递给形参数组名,这样两个数组就共用同一段内存单元! 假设实参a的起始地址与形参b的起始地址相同,则a和 b占同一段的存储单元,a[0]和b[0]同占一单元,a[1]和b[1]同占一个存储单元......所以,形参数组中的各元素的值的改变也会使实参的值发生改变.!这里的int i便是按值传递。
2 按引用及指针,都是对原值的操作,通过传递地址实现,速度快,不安全,可加const解决,数组默认的传递方法。 int[]array便是按引用。 |