什么时候应使用指针形参?什么时候就使用引用形参?解释两者的优点和缺点。
2013-04-01 09:55
609 查看
1.当函数需要处理数组且函数体不依赖于数组的长度时应使用指针形参,其他情况下应使用引用形参:
2.指针形参的优点:可以明确地表示函数所操纵的是指向数据元素的指针,而不是数组本身,而且可以使用任意长度的实参数组来调用函数;
缺点:函数体不能依赖于数组的长度,否则容易造成数据内存的越界访问,从而产生错误的结果或者程序崩溃。
引用形参的优点:在函数体中依赖数组的长度是安全的;
缺点:限制了可以传递实参数组,只能使用长度匹配的实参数据来调用函数。
2.指针形参的优点:可以明确地表示函数所操纵的是指向数据元素的指针,而不是数组本身,而且可以使用任意长度的实参数组来调用函数;
缺点:函数体不能依赖于数组的长度,否则容易造成数据内存的越界访问,从而产生错误的结果或者程序崩溃。
引用形参的优点:在函数体中依赖数组的长度是安全的;
缺点:限制了可以传递实参数组,只能使用长度匹配的实参数据来调用函数。
相关文章推荐
- 什么时候使用指针?什么时候使用引用?什么时候应该按值传递?
- 什么是“前端路由”?什么时候适合使用“前端路由”?“前端路由”有哪些优点和缺点?
- 什么时候该使用指针和引用
- 什么时候应该将形参定义为引用类型。什么时候不应该将形参定义为引用。
- 什么时候使用值类型?什么时候使用引用类型?
- 在数组合并的时候能够使用两个函数,两者的区别是什么?
- 什么情况下指针需要使用malloc分配内存,什么时候不需要
- 指针和引用有什么分别;如果传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?
- byref和byval什么时候该使用什么时候不该使用
- 什么时候使用引用?什么时候使用指针?什么时候安置传递?
- 什么时候用指针形参?什么时候用引用形参?
- servlet中什么时候该使用请求转发,什么时候该使用重定向
- 双指针函数参数什么时候需要加 const,什么时候不能加?
- [转载] 什么时候应该使用 ==?什么时候应该使用 Equals?
- SSH的项目中,使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么
- 为什么要使用多线程?多线程的优点和缺点是什么?
- 什么时候使用引用?和什么时候使用指针
- SQL中使用视图的优点和缺点是什么
- java的引用明明和指针没什么本质区别,java为什么还宣称没有指针并把这个当作语言的优点?
- 什么时候使用引用?和什么时候使用指针