为什么需要用指针做参数?
- 需要数据双向传递时(引用也可以达到此效果)
用指针作为函数的参数,可以使被调函数通过形参指针存取主调函数中实参指针指向的数据,实现数据的双向传递 - 需要传递一组数据,只传首地址运行效率比较高
实参是数组名时形参可以是指针
指针函数即返回值是使地址的函数
注意
不要将非静态局部地址用作函数的返回值
错误的例子:在子函数中定义局部变量后将其地址返回给主函数,就是非法地址
返回的指针要确保在主调函数中是有效、合法的地址
正确的例子:
主函数中定义的数组,在子函数中对该数组元素进行某种操作后,返回其中一个元素的地址,这就是合法有效的地址返回的指针要确保在主调函数中是有效、合法的地址
正确的例子:
在子函数中通过动态内存分配new操作取得的内存地址返回给主函数是合法有效的,但是内存分配和释放不在同一级别,要注意不能忘记释放,避免内存泄漏