1、参数传递中:值传递、引用传递、指针传递的区别
值传递:形参是实参的拷贝,函数对形参的所有操作不会影响实参。形参是实参的拷贝,改变形参的值并不会影响外部实参的值。采用的是直接寻址
指针传递:本质上是值传递,只不过拷贝的是指针的值,拷贝之后实参和形参是不同的指针,但指向的地址都相同。通过指针可以间接的访问指针所指向的对象,从而可以修改它所指对象的值。采用的是间接寻址。
引用传递:当形参是引用类型时,我们说它对应的实参被引用传递。部分编译器在底层也是使用指针来实现引用传递。也是间接寻址
值传递:形参是实参的拷贝,函数对形参的所有操作不会影响实参。形参是实参的拷贝,改变形参的值并不会影响外部实参的值。采用的是直接寻址
指针传递:本质上是值传递,只不过拷贝的是指针的值,拷贝之后实参和形参是不同的指针,但指向的地址都相同。通过指针可以间接的访问指针所指向的对象,从而可以修改它所指对象的值。采用的是间接寻址。
引用传递:当形参是引用类型时,我们说它对应的实参被引用传递。部分编译器在底层也是使用指针来实现引用传递。也是间接寻址