我想傳遞一個整個數組到我的功能,但我正在逐漸目前正在錯誤:傳遞整個數組作爲參數成函數
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的);'刪除 –
您是在一些感覺思維括號錯了,當你把它描述爲「通過整個陣列」因爲只有一個指針,而不是整個數組實際上傳遞。 –