久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 函數與指針專(zhuan)題

函數(shu)與指針專題 時(shi)間:2014-10-16     ; 來源(yuan):未知

數組指(zhi)針(zhen)(zhen)專題中給(gei)大家講解(jie)了數組與指(zhi)針(zhen)(zhen)相結(jie)合的(de)(de)各種表現形式,那(nei)么在(zai)來看看函數與指(zhi)針(zhen)(zhen)結(jie)合會有什么樣的(de)(de)意想(xiang)不到的(de)(de)情況呢?

我們(men)在學習(xi)函數之前必須(xu)知道一點,那(nei)就是(shi)函數名(ming)代(dai)表了函數的入口地址。想想我們(men)前面(mian)的對數據的各種操作,知道了地址是(shi)不是(shi)就可以去訪問它(ta)了啊。

一、總體框架圖:

二、函數(shu)與(yu)指針

2.1函數

執行結果:

上面是(shi)咱們自(zi)己封(feng)裝的(de)(de)一個(ge)函數(shu)(shu)(shu),它的(de)(de)功能(neng)很(hen)簡單,就是(shi)比較兩個(ge)數(shu)(shu)(shu)的(de)(de)大小,并且返回大值(zhi)。還有一點是(shi)需要注(zhu)意的(de)(de),函數(shu)(shu)(shu)里面的(de)(de)定義的(de)(de)變(bian)量(liang)都(dou)是(shi)保(bao)存在棧上,函數(shu)(shu)(shu)調用完畢,棧空間被釋(shi)放(fang)(可以簡單這么認為)。

但是存放變量的數(shu)據(ju)(ju)的那(nei)個單(dan)(dan)元(yuan)格其實還在那(nei)里(li),只(zhi)是我們(men)不知道那(nei)個單(dan)(dan)元(yuan)格的地址而已(yi),所以我們(men)就不能夠訪問(wen),此時那(nei)個單(dan)(dan)元(yuan)格的數(shu)據(ju)(ju)就稱為(wei)臟數(shu)據(ju)(ju)。只(zhi)到(dao)你下次cpu還為(wei)你分(fen)配(pei)這個段元(yuan)格,你為(wei)其重新(xin)賦值,那(nei)么才會被改變。所以我們(men)定義變量的時候應該為(wei)其進行(xing)初始化。

2.2 指針函數

指(zhi)針函數(shu),還是(shi)(shi)依(yi)照(zhao)我(wo)們我(wo)們的小學的語文知識來分析(xi)它(ta),定語是(shi)(shi)函數(shu),修(xiu)飾詞(ci)是(shi)(shi)指(zhi)針。直白的說指(zhi)針函數(shu)的本(ben)質是(shi)(shi)一個(ge)函數(shu),是(shi)(shi)函數(shu)就(jiu)有(you)返回值,它(ta)的返回值和別人稍(shao)微有(you)點(dian)不(bu)一樣是(shi)(shi)一個(ge)指(zhi)針。我(wo)們這么分析(xi)之(zhi)后,那么它(ta)的原(yuan)型也就(jiu)呼之(zhi)欲出了。

執行結果:

其實(shi),我這(zhe)個程序我們有不規范的地(di)方(fang),我們一般都(dou)不這(zhe)么用的,因為(wei)咱(zan)們的變量時(shi)在ret,空間被分配在了(le)棧上,那么棧的空間是有限的,系統還會復用。所以不建議(yi)這(zhe)么寫。我這(zhe)么寫是對我上一個例子(zi)的驗證。

執行結果:

p指針(zhen)變(bian)量本(ben)身是(shi)在(zai)棧區分(fen)配(pei)空間的,malloc 分(fen)配(pei)的空間是(shi)在(zai)堆區的。

2.3函數指針

函(han)數(shu)(shu)(shu)指(zhi)針我(wo)們(men)這(zhe)么來(lai)解(jie)釋它(ta),本質(zhi)是(shi)一(yi)(yi)個(ge)指(zhi)針,前面的(de)(de)(de)修(xiu)飾語是(shi)函(han)數(shu)(shu)(shu),也(ye)就(jiu)(jiu)是(shi)這(zhe)個(ge)指(zhi)針比較特別,它(ta)指(zhi)向的(de)(de)(de)不是(shi)一(yi)(yi)個(ge)整(zheng)數(shu)(shu)(shu)或者(zhe)是(shi)char型的(de)(de)(de)數(shu)(shu)(shu)據,而(er)是(shi)一(yi)(yi)個(ge)函(han)數(shu)(shu)(shu),你仔(zi)細的(de)(de)(de)想想,其實也(ye)是(shi)一(yi)(yi)件很普通的(de)(de)(de)事情(qing)。知道了(le)意思,那(nei)么還(huan)有一(yi)(yi)個(ge)問(wen)題我(wo)們(men)是(shi)要解(jie)決的(de)(de)(de),那(nei)就(jiu)(jiu)是(shi)函(han)數(shu)(shu)(shu)怎么來(lai)申明函(han)數(shu)(shu)(shu)指(zhi)針的(de)(de)(de)類型呢。這(zhe)里和數(shu)(shu)(shu)組指(zhi)針的(de)(de)(de)申明方法是(shi)一(yi)(yi)樣的(de)(de)(de),對函(han)數(shu)(shu)(shu)名加上括(kuo)號加*號就(jiu)(jiu)ok。

執行結果:

2.4 函(han)(han)數指針函(han)(han)數

函(han)(han)數(shu)指針函(han)(han)數(shu),本質是(shi)(shi)一(yi)(yi)個(ge)函(han)(han)數(shu),返回(hui)值是(shi)(shi)一(yi)(yi)個(ge)函(han)(han)數(shu)指針。依據(ju)這樣一(yi)(yi)個(ge)定義我們來列舉這樣一(yi)(yi)個(ge)例(li)子。因為返回(hui)值是(shi)(shi)一(yi)(yi)個(ge)函(han)(han)數(shu)指針的情況并不多(duo),我們就(jiu)不進行詳細(xi)分(fen)析了,感(gan)興趣的同(tong)學,可以按照我上(shang)面(mian)的思路(lu),自己分(fen)析一(yi)(yi)下。

2.5 函數(shu)指(zhi)針數(shu)組

執行結果:

分析:

函(han)(han)(han)數(shu)指(zhi)針(zhen)數(shu)組(zu),本質是一個(ge)數(shu)組(zu),數(shu)組(zu)中(zhong)的每(mei)個(ge)元素,是一個(ge)函(han)(han)(han)數(shu)指(zhi)針(zhen)。每(mei)個(ge)函(han)(han)(han)數(shu)指(zhi)針(zhen)指(zhi)向一個(ge)函(han)(han)(han)數(shu)。那么函(han)(han)(han)數(shu)指(zhi)針(zhen)數(shu)組(zu)。咱們指(zhi)針(zhen)難道了(le)函(han)(han)(han)數(shu)名,也就(jiu)是函(han)(han)(han)數(shu)的地址。調用它(ta),就(jiu)是把類(lei)型去掉即可

2.6 回調函數

回(hui)(hui)調函(han)數(shu)是什么(me)呢?大(da)家想一想我們在(zai)哪些(xie)地(di)方遇(yu)到(dao)它(ta)了呢?數(shu)據庫的callback函(han)數(shu),還(huan)有哪里?線程的創建函(han)數(shu)。那么(me)現在(zai)我們來寫一個自己的回(hui)(hui)調函(han)數(shu)。重點(dian)弄(nong)明(ming)白原理。

執行結果:

回(hui)調(diao)函(han)數(shu),本質是(shi)要(yao)在一(yi)個(ge)(ge)函(han)數(shu)中調(diao)用另外一(yi)個(ge)(ge)函(han)數(shu)。那么我們(men)很(hen)容易(yi)想到的(de)(de)是(shi),需要(yao)得到這(zhe)個(ge)(ge)函(han)數(shu)的(de)(de)入(ru)口地址,我們(men)只需要(yao)傳(chuan)參的(de)(de)時候,傳(chuan)遞(di)函(han)數(shu)名(ming)即可(ke)。這(zhe)樣就可(ke)以實現回(hui)調(diao)了(le),但(dan)是(shi)還是(shi)不夠靈(ling)活,還需要(yao)我們(men)給這(zhe)個(ge)(ge)被調(diao)用的(de)(de)函(han)數(shu)的(de)(de)傳(chuan)參啊,于是(shi)第2個(ge)(ge)參數(shu),第3個(ge)(ge)參數(shu)緊接著就出現了(le)。

上一篇:基于FS4412內核移植之USB驅動的移植

下一篇:Wifi加密工具移植(FS_4412)

熱點文章推(tui)薦
華清(qing)學(xue)員(yuan)就業榜單
高薪學員(yuan)經驗分享
熱點新聞推薦
前臺專線(xian):010-82525158 企業(ye)培訓(xun)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部