1、在C/C++中,一般有兩種方法來(lái)返回一個(gè)數(shù)組。
創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),吉林網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:吉林等地區(qū)。吉林做網(wǎng)站價(jià)格咨詢:18980820575
2、由于C/C++是允許返回結(jié)構(gòu)體的,可以定義一個(gè)結(jié)構(gòu)體模板,把數(shù)組作為成員安排在其中,函數(shù)中臨時(shí)聲明結(jié)構(gòu)體變量,操作其中的數(shù)組;完畢后返回結(jié)構(gòu)體變量,在主調(diào)函數(shù)中用同類(lèi)型的結(jié)構(gòu)體變量接收就可間接實(shí)現(xiàn)“返回一個(gè)數(shù)組”。
3、我們首先定義一個(gè)二級(jí)指針和一個(gè)行列變量[int ** array,row,column;]。然后我們編寫(xiě)進(jìn)入行和列的語(yǔ)句,代碼如圖所示。接下來(lái)我們可以用一維數(shù)組打開(kāi)一維一維數(shù)組。
4、函數(shù)返回值一般為一個(gè)值,現(xiàn)在你要返回?cái)?shù)組,那么你可以在程序中定義全局?jǐn)?shù)組,或者你通過(guò)傳指針的方式傳過(guò)來(lái)數(shù)組參數(shù),在函數(shù)中更改了數(shù)組的值后又把數(shù)組首地址返回去就可以用了。
5、數(shù)組不可以直接返回,只能通過(guò)參數(shù)傳遞出來(lái),比如:void fun(int p);int main(){ int a[100];fun(a);return 0;} 希望能幫助你。
((double (*)[row])matrix);里的[row]是一個(gè)變量,而指向數(shù)組的指針 double (*matrix)[ROW]里的ROW只能使用常量,所以這里也有一個(gè)錯(cuò)誤。
返回int數(shù)組指針 定義 int *f(){ return a;} 數(shù)組名的指針,即數(shù)組首元素地址的指針。即是指向數(shù)組的指針。例:int (*p)[10]; p即為指向數(shù)組的指針,又稱(chēng)數(shù)組指針。
子函數(shù)中定義的一般指針變量,在子函數(shù)結(jié)束之后會(huì)被自動(dòng)釋放,如果返回這種局部指針變量,調(diào)用者一般是不能正確讀到指針地址中的數(shù)據(jù)的。
首先,你不應(yīng)該返回局部變量的指針,因?yàn)榫植孔兞吭陔x開(kāi)函數(shù)后就會(huì)被銷(xiāo)毀。如果你想這樣返回一個(gè)數(shù)組的話,你應(yīng)該malloc出一個(gè)數(shù)組來(lái)返回。至于應(yīng)該return什么,return (malloc出來(lái)的那個(gè)指針)就可以了。
在C語(yǔ)言中,無(wú)法直接返回一個(gè)數(shù)組,但是可以通過(guò)返回對(duì)應(yīng)類(lèi)型指針的方式,返回?cái)?shù)組。在大多數(shù)情況下,一維數(shù)組和一維指針是可以通用的。比如,定義一個(gè)函數(shù),申請(qǐng)一定長(zhǎng)度的整型動(dòng)態(tài)數(shù)組,其長(zhǎng)度用參數(shù)傳入,并將結(jié)果返回。
在C/C++中,一般有兩種方法來(lái)返回一個(gè)數(shù)組。
首先,你不應(yīng)該返回局部變量的指針,因?yàn)榫植孔兞吭陔x開(kāi)函數(shù)后就會(huì)被銷(xiāo)毀。如果你想這樣返回一個(gè)數(shù)組的話,你應(yīng)該malloc出一個(gè)數(shù)組來(lái)返回。至于應(yīng)該return什么,return (malloc出來(lái)的那個(gè)指針)就可以了。
指向數(shù)組的指針要這樣定義:int (*p)[7];這個(gè)p是一個(gè)指針變量,專(zhuān)門(mén)用來(lái)指向“包含7個(gè)int元素”的數(shù)組,可以這樣為p賦值:p=。由此也可以看出,樓上說(shuō)的是錯(cuò)的。
C/C++里指針和數(shù)組用法是通用的,返回一個(gè)二級(jí)指針,然后按照指針數(shù)組的用法使用即可。
因此,如果想在主函數(shù)中輸出自定義函數(shù)中定義的數(shù)組,就要在自定義函數(shù)中把數(shù)組定義為靜態(tài)數(shù)組,然后返回?cái)?shù)組名即可。靜態(tài)變量的生命周期是整個(gè)程序的生命期,從定義開(kāi)始,直到程序結(jié)束,才會(huì)被釋放。
方法2:傳遞數(shù)組指針 分析:在教學(xué)過(guò)程中,我們知道C語(yǔ)言函數(shù)參數(shù)的傳遞方式有值傳遞與地址傳遞。當(dāng)進(jìn)行值傳遞時(shí),主調(diào)函數(shù)把實(shí)參的值復(fù)制給形參,形參獲得從主調(diào)函數(shù)傳遞過(guò)來(lái)的值運(yùn)行函數(shù)。
C/C++里指針和數(shù)組用法是通用的,返回一個(gè)二級(jí)指針,然后按照指針數(shù)組的用法使用即可。
在C語(yǔ)言中,無(wú)法直接返回一個(gè)數(shù)組,但是可以通過(guò)返回對(duì)應(yīng)類(lèi)型指針的方式,返回?cái)?shù)組。在大多數(shù)情況下,一維數(shù)組和一維指針是可以通用的。比如,定義一個(gè)函數(shù),申請(qǐng)一定長(zhǎng)度的整型動(dòng)態(tài)數(shù)組,其長(zhǎng)度用參數(shù)傳入,并將結(jié)果返回。
在調(diào)用函數(shù)的時(shí)候,直接將變量的指針(即內(nèi)存地址)作為參數(shù)傳入,在函數(shù)執(zhí)行的時(shí)候,就會(huì)自動(dòng)對(duì)內(nèi)存中相應(yīng)地址的數(shù)據(jù)進(jìn)行操作。使用這種方法也就不需要返回值了。
方法2:傳遞數(shù)組指針 分析:在教學(xué)過(guò)程中,我們知道C語(yǔ)言函數(shù)參數(shù)的傳遞方式有值傳遞與地址傳遞。當(dāng)進(jìn)行值傳遞時(shí),主調(diào)函數(shù)把實(shí)參的值復(fù)制給形參,形參獲得從主調(diào)函數(shù)傳遞過(guò)來(lái)的值運(yùn)行函數(shù)。
函數(shù)指針的數(shù)組定義方法:返回值類(lèi)型( * 指針變量名[Number]) (形參列表)。
1、注意C/C++不能直接返回一個(gè)數(shù)組。這是由于在C/C++中,數(shù)組不是一種類(lèi)型,因此不能被直接返回。在C/C++中,一般有兩種方法來(lái)返回一個(gè)數(shù)組。
2、方法:把最大值、最小值分別定義成2個(gè)全局變量max、min,在用戶自定義函數(shù)中把求出來(lái)的最大值與最小值分別賦給全局變量max、min。函數(shù)調(diào)用完畢后全局變量的max、min值即保存了函數(shù)要求返回的值。
3、首先,C/C++只能返回?cái)?shù)組的指針而不能返回整個(gè)數(shù)組。即使返回?cái)?shù)組的指針,但如果函數(shù)中的數(shù)組是自動(dòng)性質(zhì),那將是危險(xiǎn)的。這是比較正宗的表述。如果確實(shí)需要從函數(shù)中返回自動(dòng)性質(zhì)的數(shù)組的全部元素值,有沒(méi)有辦法呢?有。
當(dāng)前名稱(chēng):c語(yǔ)言返回?cái)?shù)組的函數(shù)指針 c語(yǔ)言返回值為數(shù)組的函數(shù)
當(dāng)前URL:http://chinadenli.net/article22/dehjcjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、微信公眾號(hào)、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、面包屑導(dǎo)航、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(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)
猜你還喜歡下面的內(nèi)容
營(yíng)銷(xiāo)型網(wǎng)站建設(shè)知識(shí)