函數(shù)原型 type fun (type (name*)[size])\x0d\x0a \x0d\x0atype是你要定義的類型,fun是函數(shù)名,name是在函數(shù)中二維數(shù)組的名字,\x0d\x0asize是二維數(shù)組第2維的長度。
金山網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,金山網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為金山1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的金山做網(wǎng)站的公司定做!
C語言如果給函數(shù)傳遞二維數(shù)組作為參數(shù) 先看一個傳遞二維數(shù)組的例子:編譯:程序看著沒有任何問題,但是編譯器通不過,報錯在處理二維數(shù)組參數(shù)a的時候,類型不兼容。
不可能達到目的。因為C語言中沒有引用這類型,C++才有。另,C/C++都不支持傳遞數(shù)組,只能傳遞數(shù)組的首元素或行指針,所以即使是C++,也只能傳遞數(shù)組指針的引用,而不可能傳遞數(shù)組的引用,因為數(shù)組沒有引用。
二維數(shù)組傳遞給函數(shù)的時候,有兩種方式,一種是a[][6],一種是(*a)[6],這里的6是不能省略的,不然編譯器不知道如何通過加多少來偏移這個指向數(shù)組的指針。
屬于地址傳遞,在函數(shù)里修改的話,將直接影響調(diào)用方的數(shù)值。這是因為數(shù)組名代表這個數(shù)組的首地址,不過是靜態(tài)不可更改的而已。在函數(shù)里用引用[i]下標時,就是找到這個數(shù)組第i號元素的地址進行修改的。所以是第于是地址傳遞。
1、在C語言中可以用二維數(shù)組作為實參或者形參。
2、如果你的二維數(shù)組是確定的,比如本例中的2×2。
3、函數(shù)原型 type fun (type (name*)[size])\x0d\x0a \x0d\x0atype是你要定義的類型,fun是函數(shù)名,name是在函數(shù)中二維數(shù)組的名字,\x0d\x0asize是二維數(shù)組第2維的長度。
1、C/C++中,二維數(shù)組的第一維的每一個元素都是一維數(shù)組。所以,用指向一維數(shù)組的指針或用第一維維數(shù)空缺的二維數(shù)組作為函數(shù)的形式參數(shù)都能達到目的。
2、編譯器實際處理多維數(shù)組是把一維數(shù)組分段處理的,也就是說實際上并不存在多維數(shù)組,多維數(shù)組僅僅是個邏輯概念。
3、不可能達到目的。因為C語言中沒有引用這類型,C++才有。另,C/C++都不支持傳遞數(shù)組,只能傳遞數(shù)組的首元素或行指針,所以即使是C++,也只能傳遞數(shù)組指針的引用,而不可能傳遞數(shù)組的引用,因為數(shù)組沒有引用。