1、指針可以返回,但是要注意函數(shù)內(nèi)部的數(shù)組用指針返回后,到了函數(shù)外面,這個數(shù)組已經(jīng)被釋放了。所以是個野指針,用了就死機!這種情況可以動態(tài)申請一段內(nèi)存,比如malloc函數(shù),用完后再用free函數(shù)釋放內(nèi)存。
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)文昌,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
2、首先,你不應(yīng)該返回局部變量的指針,因為局部變量在離開函數(shù)后就會被銷毀。如果你想這樣返回一個數(shù)組的話,你應(yīng)該malloc出一個數(shù)組來返回。至于應(yīng)該return什么,return (malloc出來的那個指針)就可以了。
3、C語言指向函數(shù)的指針承載的信息比較復(fù)雜,組織起來要素要寫全。
4、C語言屬于高級編程語言。在C語言中一個函數(shù)不能返回局部地址即指針。
5、按照這段代碼來說,int* 聲明的指針指向內(nèi)存中的一塊地址,而在這塊地址中存儲著一個整形數(shù)值。所以要返回這樣的值,也就相當于是返回一個內(nèi)存地址。
搞定 額 , 現(xiàn)在可以直接用b , 因為 數(shù)組 變量b 本身是不能修改的, 而且 函數(shù)結(jié)束后 b 的生命就結(jié)束了。
在調(diào)用函數(shù)的時候,直接將變量的指針(即內(nèi)存地址)作為參數(shù)傳入,在函數(shù)執(zhí)行的時候,就會自動對內(nèi)存中相應(yīng)地址的數(shù)據(jù)進行操作。使用這種方法也就不需要返回值了。
因為input()函數(shù)創(chuàng)建的數(shù)組num[5]作用域在input()函數(shù)之內(nèi),當input()函數(shù)調(diào)用結(jié)束后,這段內(nèi)存會被回收,也就是里面的值會變成其他數(shù)。
首先,你不應(yīng)該返回局部變量的指針,因為局部變量在離開函數(shù)后就會被銷毀。如果你想這樣返回一個數(shù)組的話,你應(yīng)該malloc出一個數(shù)組來返回。至于應(yīng)該return什么,return (malloc出來的那個指針)就可以了。
你把返回值寫成指針型就可以了,具體得看你參數(shù)是怎樣的,還有返回值是什么類型的指針:比如:int * scar(int )這個函數(shù)參數(shù)是一個整型,返回值是個整型指針。
在jiaohuan函數(shù)中,你所做的交換只是對指針進行賦值,并沒有交換指針指向的數(shù)據(jù),所以也完成不了交換任務(wù)。jiaohuan函數(shù)的返回值為int型指針,但該函數(shù)中并沒有返回一個指針變量。
第一個char,一般是代表函數(shù)的返回值是一個字符。但是它后面有一個*,應(yīng)該把char和*連起來看,就是char*了。那么,第一個就是char*,代表函數(shù)的返回值是一個字符指針(地址)。match是函數(shù)的名字。
函數(shù)指針是指向函數(shù)的指針變量。 因而“函數(shù)指針”本身首先應(yīng)是指針變量,只不過該指針變量指向函數(shù)。這正如用指針變量可指向整型變量、字符型、數(shù)組一樣,這里是指向函數(shù)。函數(shù)指針有兩個用途:調(diào)用函數(shù)和做函數(shù)的參數(shù)。
01 指針函數(shù)通常是指函數(shù)返回值是指針的一類函數(shù),如圖所示。 02 函數(shù)指針是指指向某個具體函數(shù)的指針變量,在程序設(shè)計時可以用來調(diào)用某個特定函數(shù)或者做某個函數(shù)的參數(shù)。
int *fn_pointer ();的意思完全不同了。fn_pointer 將是一個函數(shù)名, 其返回值為 int 類型的指針。2:函數(shù)指針變量 在C語言中規(guī)定,一個函數(shù)總是占用一段連續(xù)的內(nèi)存區(qū), 而函數(shù)名就是該函數(shù)所占內(nèi)存區(qū)的首地址。
在C語言中指針函數(shù)和函數(shù)指針是兩個不同的概念,不能混淆。指針函數(shù)本質(zhì)上是函數(shù),是一個返回類型為指針的函數(shù),如:int* max(int *array,int n){ //找最大值的地址 return 最大值的地址;} max就是一個指針函數(shù)。
pointer是指向一塊數(shù)組數(shù)據(jù)的指針,但是它是函數(shù)的行參名,當調(diào)用search時就指向score了。
文章名稱:c語言返回指針函數(shù) c語言指針返回數(shù)組
文章出自:http://aaarwkj.com/article4/deoheoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站制作、響應(yīng)式網(wǎng)站、網(wǎng)站營銷、品牌網(wǎng)站設(shè)計、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)