注意C/C++不能直接返回一個(gè)數(shù)組。這是由于在C/C++中,數(shù)組不是一種類型,因此不能被直接返回。在C/C++中,一般有兩種方法來返回一個(gè)數(shù)組。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),鶴山企業(yè)網(wǎng)站建設(shè),鶴山品牌網(wǎng)站建設(shè),網(wǎng)站定制,鶴山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鶴山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
不能直接返回一個(gè)數(shù)組,但是可以用其他方式實(shí)現(xiàn)類似功能。方法1:利用全局變量 分析:全局變量作為C語言的一個(gè)知識點(diǎn),雖然我們都了解它的特點(diǎn),但在實(shí)際教學(xué)過程中應(yīng)用得并不是很多。
由于C/C++是允許返回結(jié)構(gòu)體的,可以定義一個(gè)結(jié)構(gòu)體模板,把數(shù)組作為成員安排在其中,函數(shù)中臨時(shí)聲明結(jié)構(gòu)體變量,操作其中的數(shù)組;完畢后返回結(jié)構(gòu)體變量,在主調(diào)函數(shù)中用同類型的結(jié)構(gòu)體變量接收就可間接實(shí)現(xiàn)“返回一個(gè)數(shù)組”。
我們首先定義一個(gè)二級指針和一個(gè)行列變量[int ** array,row,column;]。然后我們編寫進(jìn)入行和列的語句,代碼如圖所示。接下來我們可以用一維數(shù)組打開一維一維數(shù)組。
函數(shù)返回值一般為一個(gè)值,現(xiàn)在你要返回?cái)?shù)組,那么你可以在程序中定義全局?jǐn)?shù)組,或者你通過傳指針的方式傳過來數(shù)組參數(shù),在函數(shù)中更改了數(shù)組的值后又把數(shù)組首地址返回去就可以用了。
你想返回一個(gè)數(shù)組,因?yàn)槟阍谝粋€(gè)函數(shù)內(nèi)創(chuàng)建了數(shù)組,屬于局部變量,所以他在stack部分,而stack部分是用后類似于銷毀的,你返回的地址類似于一塊垃圾的地址,所以編譯警告。
在C/C++中,一般有兩種方法來返回一個(gè)數(shù)組。
由于C/C++是允許返回結(jié)構(gòu)體的,可以定義一個(gè)結(jié)構(gòu)體模板,把數(shù)組作為成員安排在其中,函數(shù)中臨時(shí)聲明結(jié)構(gòu)體變量,操作其中的數(shù)組;完畢后返回結(jié)構(gòu)體變量,在主調(diào)函數(shù)中用同類型的結(jié)構(gòu)體變量接收就可間接實(shí)現(xiàn)“返回一個(gè)數(shù)組”。
我們首先定義一個(gè)二級指針和一個(gè)行列變量[int ** array,row,column;]。然后我們編寫進(jìn)入行和列的語句,代碼如圖所示。接下來我們可以用一維數(shù)組打開一維一維數(shù)組。
函數(shù)返回值一般為一個(gè)值,現(xiàn)在你要返回?cái)?shù)組,那么你可以在程序中定義全局?jǐn)?shù)組,或者你通過傳指針的方式傳過來數(shù)組參數(shù),在函數(shù)中更改了數(shù)組的值后又把數(shù)組首地址返回去就可以用了。
數(shù)組不可以直接返回,只能通過參數(shù)傳遞出來,比如:void fun(int p);int main(){ int a[100];fun(a);return 0;} 希望能幫助你。
memcpy(ave, average(score,p,q), sizeof(ave));要顯式的把返回的數(shù)組數(shù)據(jù)拷貝到另一個(gè)數(shù)組中。另外,你average函數(shù)中的aver是局部變量,你怎么能把它返回呢?這塊內(nèi)存在返回前就失效了。
一個(gè)函數(shù)是只能返回一個(gè)值,但你使用全局變量還是可以同時(shí)改多個(gè)值的。
當(dāng)我們需要函數(shù)返回多個(gè)值時(shí),除了函數(shù)體中的return語句返回其中一個(gè)之外,其它的返回值我們可以通過定義全局變量來處理。
建立數(shù)組,返回指針。在要返回的兩個(gè)值類型相同時(shí),可以用創(chuàng)建數(shù)組的方式,將要返回的值存在數(shù)組中,并返回?cái)?shù)組首地址,這樣就可以實(shí)現(xiàn)返回兩個(gè)值的效果。
函數(shù)的返回值頂多是一個(gè)數(shù),通過函數(shù)直接返回的這個(gè)數(shù)只有在是指針時(shí)才能給出多個(gè)數(shù)據(jù)結(jié)果。
方法一:設(shè)置全局變量,這樣你在形參中改變?nèi)肿兞浚趯?shí)參中也會有效。所以你可以在形參中改變多個(gè)全局變量的值,那么在實(shí)參中就相當(dāng)于返回多個(gè)值。
c語言函數(shù)只能最多有一個(gè)返回值。我們以一個(gè)數(shù)據(jù)運(yùn)算函數(shù)作為實(shí)例講解:使用指針返回額外數(shù)據(jù):定義指針參數(shù),將結(jié)果通過指針返回。如果有很多類型相同的數(shù)據(jù),如何返回?cái)?shù)組呢?c語言也只能借助指針返回?cái)?shù)組。
網(wǎng)頁名稱:c語言函數(shù)返回幾個(gè)數(shù)組 c語音函數(shù)返回?cái)?shù)組
分享鏈接:http://chinadenli.net/article41/dephsed.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、Google、小程序開發(fā)、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)