【发布时间】:2014-11-09 17:24:56
【问题描述】:
对于下面的函数定义,它们是否实际上都相等?如果不是,有什么区别?
void f1(int *a)
{
//something to do;
}
void f2(int a[])
{
//the same as function f1
}
void f3(int a[3])
{
//the same as function f1
}
非常感谢!
【问题讨论】:
-
是的,它们对编译器是一样的。
-
@MattMcNabb :是的,不能忽略边缘案例 ;-)
-
@MattMcNabb 它们在 C++ 中实际上是相同的。您链接的讨论适用于 C。
-
@MichaelPetch 不是 C++ 中的边缘案例。这就是我对另一个 C 问题感到困惑的根源。
-
@juanchopanza 谢谢,没想到
标签: c++