foo(int * arr)和foo(int arr )之间有什么区别?
两者之间有什么区别吗?
foo(int* arr) {}
和
foo(int arr[]){}
?
谢谢
不,两者没有区别。
C编译器没有区别。 虽然程序员读取代码有所不同。
这里,arr是一个指向整数的指针(可能用于返回函数的结果):
foo(int* arr) {}
这里,arr是指向数组中第一个整数的指针(可能用于在函数中传入和/或传出数字列表):
foo(int arr[]) {}
此外,指定函数的返回类型会有所帮助。
语义是相同的,但对于外部程序员来说,理解起来更容易,更直接:第二个函数将数组作为参数。 它不可能像第一个那样立竿见影。
您必须将值取消引用到第一个…