我想传递一个整个数组到我的功能,但我正在逐渐目前正在错误:传递整个数组作为参数成函数
test.c: In function 'main':
test.c:4:18: error: expected expression before ']' token
method(myArray[]);
^
test.c: At top level:
test.c:8:6: warning: conflicting types for 'method' [enabled by default]
void method(int arr[]){
^
test.c:4:3: note: previous implicit declaration of 'method' was here
method(myArray[]);
^
test.c: In function 'method':
test.c:9:3: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
printf("DATA: %d",arr[2]);
^
这是我的代码(的简化版本我想要做的是抛出了同样的错误:。
int main(){
int myArray[3];
myArray[2]=12;
method(myArray[]);
}
void method(int arr[]){
printf("DATA: %d",arr[2]);
}
预先声明可能有助于 –
这是正确的方式,'方法(myarray的);'删除 –
您是在一些感觉思维括号错了,当你把它描述为“通过整个阵列”因为只有一个指针,而不是整个数组实际上传递。 –