【发布时间】:2013-11-10 18:02:41
【问题描述】:
当我试图找到答案时,我几乎只找到 C++ 帖子而不是 C。
对于 int、char 等内置类型,按值传递和通过 const 指针传递是否有任何性能差异?
在按值传递时使用 const 关键字仍然是一种好的编程习惯吗?
int PassByValue(int value)
{
return value / 2;
}
int ConstPointer(const int * value)
{
return (*value) / 2;
}
【问题讨论】:
-
第二个调用更烦人(需要
f(&x)而不是f(x),如果要传递常量值,请引入额外的局部变量-f(5)不起作用)。 -
@delnan 提到的两个问题都在 c++ 中通过使用 references 一个 c 中不存在的概念来解决。
-
@dmckee:我知道,但这是一个 C 问题。
标签: c pointers reference constants