C語言 數(shù)組名作為函數(shù)的形參和實參
1.一維數(shù)組名作為函數(shù)的參數(shù)
一維數(shù)組作為函數(shù)的參數(shù)時,數(shù)組名在函數(shù)傳遞過程中,既可以作形參,也可以作實參。數(shù)組名作函數(shù)參數(shù)時,要求形參和實參都必須是類型相同的數(shù)組(或指向數(shù)組的指針變量),且都必須有明確的數(shù)組說明。
2.多維數(shù)組名作為函數(shù)參數(shù)
和一維數(shù)組一樣,多維數(shù)組也可以作為函數(shù)的參數(shù),多維數(shù)組名既可以作為函數(shù)的實參也可以作為函數(shù)的形參。
當(dāng)多維數(shù)組名作為函數(shù)的形參時,可以指定每一維的大小,也可以省略第一維的大小,例如:
void fun(int x[3] [3])
{
…
}
main()
{
int a[3][3];
…
fun(a);
…
}
形參數(shù)組也可以寫成x[][3]的形式,兩種形式都是合法且等價的。但一定要注意不能把第二維或第三維……等高維的大小省略,例如:
void fun(int x[][])
或
void fun(int x[3][])
這兩種寫法是不合法的。前面介紹過,二維數(shù)組是由多個一維數(shù)組組成的,在內(nèi)存中是按行的形式存儲的,在對二維數(shù)組定義并初始化時,可以只指定列數(shù)而不指定行數(shù)。二維數(shù)組作為函數(shù)參數(shù)時,形參和實參也是地址傳遞的過程,指向同一段地址空間,所以必須指明列數(shù),可以省略行數(shù)。
點擊加載更多評論>>