将arr []和*arr作为参数放在函数原型中是否等同于所有意义?

YoT*_*LCD 2 c

假设我有一些功能function,以下原型在所有意义上完全相同吗?

sometype function(sometype2 arr[],...);
sometype function(sometype2 * arr,...,);
Run Code Online (Sandbox Code Playgroud)

我认为他们是,但我的教授从未真正解释过.

dbu*_*ush 5

是的,给出的原型是等价的.

将数组传递给函数时,实际发生的是指向数组的第一个元素的指针传递给函数.这被称为当作为参数传递时衰减为指针的数组.

在这两种情况下,值都sizeof arr将返回指针类型的大小,在大多数系统上通常为4或8,而不是数组的字节大小.