1 回答

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
并不!
函數(shù)形參聲明為數(shù)組的,都會(huì)被當(dāng)作是“數(shù)組元素指針”類型
所以?int xu(int a[100]) 其實(shí)就是 int xu(int *a)
也就是說:形參數(shù)組的大小完全沒有作用[注1]
寫?int xu(int a[]) 和?int xu(int a[100]) 都是一樣的結(jié)果。
在調(diào)用傳參時(shí),如果傳入的實(shí)參是數(shù)組,也會(huì)隱式轉(zhuǎn)型為數(shù)組元素指針類型。所以最終傳入的也是指針,和形參類型一致。并且同樣,這和實(shí)參數(shù)組的大小完全沒有關(guān)系。
至于你最后給出的這個(gè)寫法?int ?xu(int ? a[3][100]) 就過分腦補(bǔ)了哦......
注1:在C99標(biāo)準(zhǔn)中允許在形參聲明為數(shù)組時(shí),在中括號中寫入一些內(nèi)容,用以對傳入的數(shù)組大小或形參指針進(jìn)行一些限制。但不是你腦補(bǔ)的那種寫法,而且這個(gè)新語法用得并不多,初學(xué)時(shí)不用考慮這個(gè)。
- 1 回答
- 0 關(guān)注
- 1363 瀏覽
添加回答
舉報(bào)