久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: C語言函數指針的探索 [打印本頁]

作者: xueer    時間: 2013-7-31 01:31
標題: C語言函數指針的探索
一談到C語言,很多學過編程的同學會感覺比較容易。但是談到C語言的指針,大多數的同學就不這么認為了,但是當談到函數指針時,很多在校的同學更是望而卻步。今天就來探索一下函數指針的使用:
用過Visual studio的同學一定會對微軟的自動提示功能大為驚嘆,編寫C語言有沒有好的工具呢,答案是肯定的。向大家推薦一款Source Insight軟件,使用方法大家自己摸索。
1.函數指針的聲明,初始化與調用

從這里大家可以看出,函數指針其實并沒有什么神奇的地方,與int *型的整型指針并無差異。需要說明的是:對于函數的函數名其實就是一個地址,所以h = &welcome也可以寫為
h = welcome,一般都是這樣應用,在上面只是為了做對比。
2.函數指針作為形參回調函數的實現
我們知道int *指針可以作為函數的參數進行傳遞并參與運算,但函數指針可不可以作為函數的參數進行傳遞呢?下面以一個比較實用的單片機常見的例子按鍵處理函數為大家講解一下函數指針作為形參的應用。在這里為了讓大家看到效果,將button定義為0



//按鍵處理函數

//主函數


3.實用typedef定義函數指針
上面我們使用了void (*handler)(void) 作為參數進行傳遞,我們可以實用typedef定義這個函數指針,使程序更加簡潔。
改動的地方如圖所示,效果上同,請自己測試。
修改的地方
4.綜合例子
使用struct結構體和函數指針結合實現模塊化編程的封裝
希望對大家有所啟發。
例子如下:
led.c的內容如下:
led.h的內容如下:
Main.c的內容如下:
                                                 Main.c part1
                                                        Main.c part2
運行結果:
   





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人免费视屏 | 一区二区水蜜桃 | 草草在线观看 | 欧美啪啪网 | 综合一区二区三区 | 人人爽人人澡 | 亚洲欧美日韩成人 | 欧美精品乱码99久久蜜桃 | 91久久精品日日躁夜夜躁欧美 | 欧美激情亚洲 | 欧美日韩一区二区三区四区 | 亚洲欧美日韩国产 | 蜜臀av在线播放 | 日本精品国产 | 欧美精品成人一区二区在线观看 | aaa黄色| 国产高清av | 日本色图视频 | 国产一区久久 | 久久久久久久久久久国产 | 毛片免费在线观看 | 综合色婷婷一区二区亚洲欧美国产 | 成年免费视频黄网站在线观看 | 日韩欧美一级片 | 天天综合网站 | 日韩国产中文字幕 | 国产日韩久久 | 伊人久久综合 | 黄色片中文字幕 | 香蕉网在线 | 日日操天天操 | 日本亚洲精品 | 国产h片在线观看 | 中文字幕欧美激情 | 国产乱码精品一品二品 | 日韩黄色录像 | 午夜免费小视频 | 97精品在线 | 午夜在线视频观看日韩17c | 日日夜夜艹 | 在线色网 |