一:引用与指针的区别
1.引用必须在定义时初始化,指针不必
2.引用不能为空,指针可以为空
3.引用绑定一个变量,为变量的别名,指针可以指向其他变量。
4.定义一个指针变量需要分配内存。引用不占用内存
二:值传递,地址传递,引用传递的区别
值传递:
会为形参重新分配内存空间,将实参的值拷贝给形参,形参的值不会影响实参,函数调用结束后释放
地址传递:
形参为指针变量,将实参的地址传递给形参,可以在函数内改变实参的值,调用时为形参指针变量分配内存,结束时释放。
引用传递:
不需要为引用重新分配内存空间,形参只是实参的别名,形参的改变会影响实参的值,函数调用结束后形参不会被释放。