两者之间有什么区别吗?
foo(int* arr) {}
Run Code Online (Sandbox Code Playgroud)
和
foo(int arr[]){} ?
谢谢
C 编译器没有区别。但是,阅读代码的程序员有所不同。
这里, arr 是一个指向整数的指针(可能用于返回函数的结果):
foo(int* arr) {}
Run Code Online (Sandbox Code Playgroud)
这里, arr 是指向数组中第一个整数的指针(可能用于将数字列表传入和/或传出函数):
foo(int arr[]) {}
Run Code Online (Sandbox Code Playgroud)
此外,指定函数的返回类型会有所帮助。