国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 函數(shù)與指針專(zhuān)題

函數(shù)與指針專(zhuān)題 時(shí)間:2014-10-16      來(lái)源:未知

數(shù)組指針專(zhuān)題中給大家講解了數(shù)組與指針相結(jié)合的各種表現(xiàn)形式,那么在來(lái)看看函數(shù)與指針結(jié)合會(huì)有什么樣的意想不到的情況呢?

我們?cè)趯W(xué)習(xí)函數(shù)之前必須知道一點(diǎn),那就是函數(shù)名代表了函數(shù)的入口地址。想想我們前面的對(duì)數(shù)據(jù)的各種操作,知道了地址是不是就可以去訪(fǎng)問(wèn)它了啊。

一、總體框架圖:

二、函數(shù)與指針

2.1函數(shù)

執(zhí)行結(jié)果:

上面是咱們自己封裝的一個(gè)函數(shù),它的功能很簡(jiǎn)單,就是比較兩個(gè)數(shù)的大小,并且返回大值。還有一點(diǎn)是需要注意的,函數(shù)里面的定義的變量都是保存在棧上,函數(shù)調(diào)用完畢,棧空間被釋放(可以簡(jiǎn)單這么認(rèn)為)。

但是存放變量的數(shù)據(jù)的那個(gè)單元格其實(shí)還在那里,只是我們不知道那個(gè)單元格的地址而已,所以我們就不能夠訪(fǎng)問(wèn),此時(shí)那個(gè)單元格的數(shù)據(jù)就稱(chēng)為臟數(shù)據(jù)。只到你下次cpu還為你分配這個(gè)段元格,你為其重新賦值,那么才會(huì)被改變。所以我們定義變量的時(shí)候應(yīng)該為其進(jìn)行初始化。

2.2 指針函數(shù)

指針函數(shù),還是依照我們我們的小學(xué)的語(yǔ)文知識(shí)來(lái)分析它,定語(yǔ)是函數(shù),修飾詞是指針。直白的說(shuō)指針函數(shù)的本質(zhì)是一個(gè)函數(shù),是函數(shù)就有返回值,它的返回值和別人稍微有點(diǎn)不一樣是一個(gè)指針。我們這么分析之后,那么它的原型也就呼之欲出了。

執(zhí)行結(jié)果:

其實(shí),我這個(gè)程序我們有不規(guī)范的地方,我們一般都不這么用的,因?yàn)樵蹅兊淖兞繒r(shí)在ret,空間被分配在了棧上,那么棧的空間是有限的,系統(tǒng)還會(huì)復(fù)用。所以不建議這么寫(xiě)。我這么寫(xiě)是對(duì)我上一個(gè)例子的驗(yàn)證。

執(zhí)行結(jié)果:

p指針變量本身是在棧區(qū)分配空間的,malloc 分配的空間是在堆區(qū)的。

2.3函數(shù)指針

函數(shù)指針我們這么來(lái)解釋它,本質(zhì)是一個(gè)指針,前面的修飾語(yǔ)是函數(shù),也就是這個(gè)指針比較特別,它指向的不是一個(gè)整數(shù)或者是char型的數(shù)據(jù),而是一個(gè)函數(shù),你仔細(xì)的想想,其實(shí)也是一件很普通的事情。知道了意思,那么還有一個(gè)問(wèn)題我們是要解決的,那就是函數(shù)怎么來(lái)申明函數(shù)指針的類(lèi)型呢。這里和數(shù)組指針的申明方法是一樣的,對(duì)函數(shù)名加上括號(hào)加*號(hào)就ok。

執(zhí)行結(jié)果:

2.4 函數(shù)指針函數(shù)

函數(shù)指針函數(shù),本質(zhì)是一個(gè)函數(shù),返回值是一個(gè)函數(shù)指針。依據(jù)這樣一個(gè)定義我們來(lái)列舉這樣一個(gè)例子。因?yàn)榉祷刂凳且粋(gè)函數(shù)指針的情況并不多,我們就不進(jìn)行詳細(xì)分析了,感興趣的同學(xué),可以按照我上面的思路,自己分析一下。

2.5 函數(shù)指針數(shù)組

執(zhí)行結(jié)果:

分析:

函數(shù)指針數(shù)組,本質(zhì)是一個(gè)數(shù)組,數(shù)組中的每個(gè)元素,是一個(gè)函數(shù)指針。每個(gè)函數(shù)指針指向一個(gè)函數(shù)。那么函數(shù)指針數(shù)組。咱們指針難道了函數(shù)名,也就是函數(shù)的地址。調(diào)用它,就是把類(lèi)型去掉即可

2.6 回調(diào)函數(shù)

回調(diào)函數(shù)是什么呢?大家想一想我們?cè)谀男┑胤接龅剿四兀繑?shù)據(jù)庫(kù)的callback函數(shù),還有哪里?線(xiàn)程的創(chuàng)建函數(shù)。那么現(xiàn)在我們來(lái)寫(xiě)一個(gè)自己的回調(diào)函數(shù)。重點(diǎn)弄明白原理。

執(zhí)行結(jié)果:

回調(diào)函數(shù),本質(zhì)是要在一個(gè)函數(shù)中調(diào)用另外一個(gè)函數(shù)。那么我們很容易想到的是,需要得到這個(gè)函數(shù)的入口地址,我們只需要傳參的時(shí)候,傳遞函數(shù)名即可。這樣就可以實(shí)現(xiàn)回調(diào)了,但是還是不夠靈活,還需要我們給這個(gè)被調(diào)用的函數(shù)的傳參啊,于是第2個(gè)參數(shù),第3個(gè)參數(shù)緊接著就出現(xiàn)了。

上一篇:基于FS4412內(nèi)核移植之USB驅(qū)動(dòng)的移植

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

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專(zhuān)線(xiàn):010-82525158 企業(yè)培訓(xùn)洽談專(zhuān)線(xiàn):010-82525379 院校合作洽談專(zhuān)線(xiàn):010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部