下面例子,作為 指針傳遞 和 行指針傳遞。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、南川ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的南川網(wǎng)站制作公司
如果你的二維數(shù)組是確定的,比如本例中的2×2。
不可能達(dá)到目的。因?yàn)镃語(yǔ)言中沒(méi)有引用這類(lèi)型,C++才有。另,C/C++都不支持傳遞數(shù)組,只能傳遞數(shù)組的首元素或行指針,所以即使是C++,也只能傳遞數(shù)組指針的引用,而不可能傳遞數(shù)組的引用,因?yàn)閿?shù)組沒(méi)有引用。
在C語(yǔ)言中可以用二維數(shù)組作為實(shí)參或者形參。
數(shù)組作為參數(shù)是按地址傳遞的 數(shù)組名就是數(shù)組的首地址。因此在數(shù)組名作函數(shù)參數(shù)時(shí)所進(jìn)行的傳送只是地址的傳送, 也就是說(shuō)把實(shí)參數(shù)組的首地址賦予形參數(shù)組名。形參數(shù)組名取得該首地址之后,也就等于有了實(shí)在的數(shù)組。
void func(int array[10])void func(int array[])void func(int *array)所以以上三種函數(shù)聲明完全等同。實(shí)際情況是,數(shù)組做參數(shù),完全無(wú)法按值傳遞。這是由C/C++函數(shù)的實(shí)現(xiàn)機(jī)制決定的。
name*)[size])\x0d\x0a \x0d\x0atype是你要定義的類(lèi)型,fun是函數(shù)名,name是在函數(shù)中二維數(shù)組的名字,\x0d\x0asize是二維數(shù)組第2維的長(zhǎng)度。\x0d\x0a這樣調(diào)用這個(gè)函數(shù)只需要把二維數(shù)組函數(shù)名傳遞就可以了。
不可能達(dá)到目的。因?yàn)镃語(yǔ)言中沒(méi)有引用這類(lèi)型,C++才有。另,C/C++都不支持傳遞數(shù)組,只能傳遞數(shù)組的首元素或行指針,所以即使是C++,也只能傳遞數(shù)組指針的引用,而不可能傳遞數(shù)組的引用,因?yàn)閿?shù)組沒(méi)有引用。
結(jié)構(gòu)體數(shù)組傳給指針,實(shí)質(zhì)上是不可能的,本質(zhì)上傳的是數(shù)組首地址,根據(jù)偏移來(lái)操作數(shù)組,這樣看起來(lái)好像是真在操作數(shù)組一樣。就和普通指針一樣使用,只不過(guò)它是結(jié)構(gòu)體數(shù)組。
1、在C里面 是無(wú)法做到形參改變 實(shí)參值同步改變的。只能通過(guò)傳地址的方式 即參數(shù)類(lèi)型為指針 這樣 形參指向空間修改,可以使得實(shí)參指向空間同步修改,因?yàn)槭峭粔K內(nèi)存區(qū)域。另外,在C++中,可以通過(guò)引用傳參,來(lái)實(shí)現(xiàn)你說(shuō)的目的。
2、void fun(a[]){ a[0]=3;a[1]=4;} int main(){ int a[2]={1,2};fun(a);printf(%d %d,a[0],a[1]);} 結(jié)果為3 4。
3、形參和實(shí)參如果都是地址(即指針)時(shí),會(huì)發(fā)生改變形參即可改變實(shí)參的情況,因?yàn)檫@時(shí)形參和實(shí)參實(shí)際上是對(duì)應(yīng)同一段內(nèi)存的數(shù)據(jù)。
4、數(shù)組名是參數(shù),說(shuō)明直接調(diào)用的指針,當(dāng)修改了數(shù)組的數(shù)據(jù)時(shí),那么就相當(dāng)于實(shí)際修改了數(shù)組中得數(shù)據(jù),相應(yīng)的值就會(huì)發(fā)生變化。
5、因?yàn)閿?shù)組傳遞的是數(shù)組的首地址,所以也是地址傳遞,所以形參改變時(shí)實(shí)參也要變。
當(dāng)前文章:c語(yǔ)言以數(shù)組作為函數(shù)形參 c++以數(shù)組為參數(shù)的函數(shù)怎么定義
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article10/degjsdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、品牌網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)