参数声明[]和*(数组)

use*_*312 2 c arrays

在函数定义中的形式参数之间,如:

void change (int *s)
{   
    s[0] = 42;
}
Run Code Online (Sandbox Code Playgroud)

另一个定义是:

void change (int s[])
{   
    s[0] = 42;
}
Run Code Online (Sandbox Code Playgroud)

我们假设它们是一样的,就像*(a+0)它一样a[0].

是否有理由偏爱另一个?请注意,首选项适用于编码风格.

CB *_*ley 6

是的,它们完全一样.声明为数组的所有函数参数都调整为相应的指针类型.

就个人而言,我更喜欢前者,它实际上使它看起来像一个指针声明,这在两种情况下都是如此.