当我需要将一个数组传递给一个函数时,似乎以下所有的函数声明都可以使用。
但是当我将一个数组分配给另一个数组时,它失败了。
当把一个数组作为函数参数传递时,这是正确的,但将其用于简单赋值语句的右侧是错误的,为什么呢?
void f(int arr[])
void f(int arr[4]) // is this one correct?
针对此事:
int a[]={1,2,3,4};
f(a);
但是当我将一个数组分配给另一个数组时,它失败了。
int a[]={1,2,3,4};
int b[4] = a; // error: array must be initialized with a brace-enclosed initializer
当把一个数组作为函数参数传递时,这是正确的,但将其用于简单赋值语句的右侧是错误的,为什么呢?