“char name”和“char name ”之间的区别作为c中的函数参数

定义这样的函数时:

void myFunction(arguments){ // some instructions } 

使用char[] namechar name[]作为函数的参数之间的差异是什么。 为什么不使用指向char的指针。

一个( char[] name )将无法编译,因为它的语法错误。

函数实现参数定义中的数组子脚本转到(必需)参数的名称。

正确的语法是第二个

 char name[] 

例:

 void p(char[]); /* prototype */ void p(char name[]) /* implementation */ { } 

但是char[] name将被视为无效语法。

在Java和C#等其他语言中, []括号的位置只是语法糖,不会以任何方式影响程序。

C,作为一种较旧的语言,没有那种灵活性。 必须使用名称后面的括号声明数组。

至于何时以及为什么要使用指针,请在此处阅读。

您将收到编译错误。

 0.c:3:14: error: expected ';', ',' or ')' before 'a' int f(char []a){ ^ 

编译这样的代码是不可能的:

 #include  int f(char []a){ } main(){ }