子函數(shù)中定義的一般指針變量,在子函數(shù)結(jié)束之后會被自動釋放,如果返回這種局部指針變量,調(diào)用者一般是不能正確讀到指針地址中的數(shù)據(jù)的。

在寧陵等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站制作,寧陵網(wǎng)站建設(shè)費(fèi)用合理。
指向一維數(shù)組的指針就是一個數(shù)組指針,定義一個數(shù)組指針是int (*b)[4],所以函數(shù)應(yīng)該是int (*)[N]f(),N為一維數(shù)組的維數(shù)。
首先,你不應(yīng)該返回局部變量的指針,因?yàn)榫植孔兞吭陔x開函數(shù)后就會被銷毀。如果你想這樣返回一個數(shù)組的話,你應(yīng)該malloc出一個數(shù)組來返回。至于應(yīng)該return什么,return (malloc出來的那個指針)就可以了。
指向數(shù)組的指針要這樣定義:int (*p)[7];這個p是一個指針變量,專門用來指向“包含7個int元素”的數(shù)組,可以這樣為p賦值:p=。由此也可以看出,樓上說的是錯的。
方法2:傳遞數(shù)組指針 分析:在教學(xué)過程中,我們知道C語言函數(shù)參數(shù)的傳遞方式有值傳遞與地址傳遞。當(dāng)進(jìn)行值傳遞時,主調(diào)函數(shù)把實(shí)參的值復(fù)制給形參,形參獲得從主調(diào)函數(shù)傳遞過來的值運(yùn)行函數(shù)。
=== int (*p)[4]; 這是數(shù)組指針,用于指向4個元素一行的數(shù)組。p= &a[0]; 讓 它指向 數(shù)組 的開始地址。程序中可以用 p[i][j] 代替 a[i][j] 使用。
1、因?yàn)閕nput()函數(shù)創(chuàng)建的數(shù)組num[5]作用域在input()函數(shù)之內(nèi),當(dāng)input()函數(shù)調(diào)用結(jié)束后,這段內(nèi)存會被回收,也就是里面的值會變成其他數(shù)。
2、不能訪問x數(shù)組,因?yàn)閍rray是局部變量,在調(diào)用完后array的空間會被銷毀。如果你要用數(shù)組的空間,你可以傳入一個數(shù)組變量,再把它返回。
3、在C/C++中,一般有兩種方法來返回一個數(shù)組。
在C語言中,無法直接返回一個數(shù)組,但是可以通過返回對應(yīng)類型指針的方式,返回數(shù)組。在大多數(shù)情況下,一維數(shù)組和一維指針是可以通用的。比如,定義一個函數(shù),申請一定長度的整型動態(tài)數(shù)組,其長度用參數(shù)傳入,并將結(jié)果返回。
方法:把最大值、最小值分別定義成2個全局變量max、min,在用戶自定義函數(shù)中把求出來的最大值與最小值分別賦給全局變量max、min。函數(shù)調(diào)用完畢后全局變量的max、min值即保存了函數(shù)要求返回的值。
由于C/C++是允許返回結(jié)構(gòu)體的,可以定義一個結(jié)構(gòu)體模板,把數(shù)組作為成員安排在其中,函數(shù)中臨時聲明結(jié)構(gòu)體變量,操作其中的數(shù)組;完畢后返回結(jié)構(gòu)體變量,在主調(diào)函數(shù)中用同類型的結(jié)構(gòu)體變量接收就可間接實(shí)現(xiàn)“返回一個數(shù)組”。
當(dāng)前標(biāo)題:c語言返回數(shù)組指針的函數(shù) c語言返回指向數(shù)組的指針
文章轉(zhuǎn)載:http://chinadenli.net/article32/desggsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、服務(wù)器托管、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、自適應(yīng)網(wǎng)站、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)