在C中哪一个更好,'双指针'或'返回指针'?

时间:2015-01-20 11:13:56

标签: c pointers

Belows是我用来显示两种赋值方法的STACK图像。 左边一个,在Find()的过程之后将Find()中的'indexIndicator'返回到main()。 Light one是指针指针(双指针)。 我知道两者都运作良好,但我想知道哪一个是首选的,为什么。谢谢 enter image description here

1 个答案:

答案 0 :(得分:2)

一般情况下,如果你的函数计算了一些值,你应该使用一个返回值;如果你的函数需要修改某些东西,你应该将它作为参数传递。此规则使代码更易于阅读和理解。遵循这样的规则并不总是容易的,特别是当你需要返回一堆值时...无论如何,你的函数的语义应该对你有帮助。

  • find()函数通常会返回找到的值,例如pElement = find(list,criterion);
  • set()函数通常将值作为参数 已修改,set(&element);