陣列名作為函式引數傳遞時,會將陣列整個傳遞給目標函式
int main(){
int import(),returnNum;//函式宣告
//int import(int a[10])亦可
int num[10]={1,2,3,4,5};
returnNum= import(num);
//函式呼叫,并把回傳值賦值給returnNum
printf("%d\n",returnNum );
return 0;
}
//函式型別不指定,則默認為int型
int import(int a[10]){
for (int i = 0; i < 10; ++i)
{
printf("%d\n",a[i] );
}
return 999;
}
- 陣列名作為函式引數呼叫,在主調函式與被呼叫函式中,都應重新定義一次陣列
- 實引陣列與形引陣列型別應一致
- 在被呼叫函式中指定了陣列大小,實際上不起任何作用,C語言編譯系統并不檢查形引陣列大小,只是將實引陣列的首元素的地址傳給形引陣列名,形引陣列名獲得了實引陣列的首元素的地址,陣列名代表陣列的首元素的地址,形引陣列首元素和實引陣列首元素具有同一地址,它們共占同一存盤單元
- 在記憶體中,陣列是按行存放的
多維陣列名作為函式引數,如一維陣列類似
int main(){
int apologize();
int a[2][4]={{0,0,0,0},{1,2,3,4}};
apologize(a);
}
int apologize(a[][4]){
printf("%d\n",a[1][0]);//1
return 999;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/258669.html
標籤:其他
