当前位置:婀娜女性网>美好生活>心理>

c语言中值传递和引用传递区别

心理 阅读(1.13W)
c语言中值传递和引用传递区别

c语言中值传递是我们没法知道它的保存地址,还有浪费很多存储空间。

引用传递时可以自行调节内存地址,可以完好的利用内存空间。

这是c语言中函数参数的两种形式,两者有本质的差别。值传递传递的仅仅是值,实参与形参是两组不同的内存地址,所以,函数调用结束其值不会发生变化,仍保持原来的值。

引用类型则相反,两组数据是共用内存空间,导致函数中的改变会直接影响到函数调用结束后的值。故后者常作为需要多返回值的函数调用。初学者必须搞清这两者的不同。

值传递仅仅传递的是值。

引用传递,传递的是内存地址,修改后会改变内存地址对应储存的值。

用数组来举例就最清楚了,例如我们定义一个数组a[]={1,2}那么a[0]=1, a[1=2].

如果我们把数组a里的元素值作为参数传递,实际上只是进行了值传递,对数组本身没有影响

如果我们把 数组a的指针作为参数传递,那么假如处理的函数就可以直接修改数组a里的值。