“char name”和“char name ”之间的区别作为c中的函数参数
定义这样的函数时:
void myFunction(arguments){ // some instructions }
使用char[] name
和char 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(){ }