foo(int*arr)和foo(int arr [])之间有什么区别?

Vex*_*toR 4 c

两者之间有什么区别吗?

foo(int* arr) {}
Run Code Online (Sandbox Code Playgroud)

foo(int arr[]){}

谢谢

Jam*_*lis 11

不,两者之间没有区别.


ana*_*lyg 5

C 编译器没有区别。但是,阅读代码的程序员有所不同。

这里, arr 是一个指向整数的指针(可能用于返回函数的结果):

foo(int* arr) {}
Run Code Online (Sandbox Code Playgroud)

这里, arr 是指向数组中第一个整数的指针(可能用于将数字列表传入和/或传出函数):

foo(int arr[]) {}
Run Code Online (Sandbox Code Playgroud)

此外,指定函数的返回类型会有所帮助。