位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 數(shù)組名作為函數(shù)的形參和實(shí)參

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-01

1.一維數(shù)組名作為函數(shù)的參數(shù)

    一維數(shù)組作為函數(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í)參也可以作為函數(shù)的形參。

    當(dāng)多維數(shù)組名作為函數(shù)的形參時(shí),可以指定每一維的大小,也可以省略第一維的大小,例如:

void fun(int x[3] [3])

    {

     …

    }


main()

{

    int a[3][3]; 

    …

    fun(a);

    …


}

形參數(shù)組也可以寫成x[][3]的形式,兩種形式都是合法且等價(jià)的。但一定要注意不能把第二維或第三維……等高維的大小省略,例如:

void fun(int x[][])

void fun(int x[3][])

    這兩種寫法是不合法的。前面介紹過,二維數(shù)組是由多個(gè)一維數(shù)組組成的,在內(nèi)存中是按行的形式存儲(chǔ)的,在對(duì)二維數(shù)組定義并初始化時(shí),可以只指定列數(shù)而不指定行數(shù)。二維數(shù)組作為函數(shù)參數(shù)時(shí),形參和實(shí)參也是地址傳遞的過程,指向同一段地址空間,所以必須指明列數(shù),可以省略行數(shù)。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部