- 1、本文档共110页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指向函数的指标称之
是指在C式開始編譯成機器碼之前,編譯器就會開始執行的一個程序,把C原始檔案中的前置處理指令,適當置換成純粹C語言敘述的新檔案,然後編譯器再用此新檔案產生目的檔(.obj),完成編譯的作業。在C裡,前置處理指令都以#符號開頭,並可以放置在程式的任何地方,藉由這種特性,可以讓程式碼的編排更有彈性。 8-7 前置處理器 巨集指令 巨集(macro)指令,又稱為「替代指令」,是由一些以#為開頭的「前置處理指令」所組成。主要功能是以簡單的名稱取代某些特定常數、字串或函數,能夠快速完成程式需求的自訂指令。簡單來說,善用巨集可以節省不少程式開發與執行時間。其語法如下所示: 8-7 前置處理器 #define 巨集名稱 表示式 /*不用在結尾加上分號*/ 範例CH08_23.c 8-7 前置處理器 執行結果 程式解說 第4行以#define 指令定義巨集函數MAX(a, b)。 第10行取得變數 x 的值。 第12行取得變數y的值。 8-7 前置處理器 範例CH08_24.c 8-7 前置處理器 執行結果 程式解說 第4~7行定義各種巨集名稱型式。 第5行前置處理器會將程式中所有PI取代為3.14159。 第6行利用#define指令以SHOW取代字串The Circles Area=。 第14行輸入半徑值。第15行輸出巨集字串及程式指令。 8-7 前置處理器 範例CH08_25.c 8-7 前置處理器 執行結果 程式解說 第4行輸入整數的scanf巨集定義。 第5行輸入實數的scanf巨集定義。 第13、15行呼叫巨集函數。 8-7 前置處理器 範例CH08_26.c 8-7 前置處理器 執行結果 程式解說 第3、4行定義巨集指令。 第11行解除巨集,之後的程式碼就不可再出現DIVIDE字樣,否則會發生錯誤。 8-7 前置處理器 條件式編譯指令 #if…#endif指令 #if…#endif指令與條件判斷式if…endif的功能是類似的,可分為單一條件判斷式及巢狀判斷式,系統可依據條件運算式的判斷結果來進行程式碼的編譯。其格式如下所示: 8-7 前置處理器 #if 條件運算式 程式碼內容 #endif 範例CH08_27.c 8-7 前置處理器 執行結果 程式解說 第4行使用#define指令定義識別字Use_MACRO。 第6~8行使用#if指令判斷是否編譯區段內的程式碼(即是否定義MAX巨集)。 第15行整數變數 x 與 y 儲存輸入值。 第16行顯示結果訊息。 8-7 前置處理器 範例CH08_28.c 8-7 前置處理器 執行結果 程式解說 6~14行中,使用巢狀的#if指令,形成多選一的#if…#elif…#endif選擇結構,藉由第4行的識別字OS_ENV,即可選擇OS的使用字串(或針對特定作業環境所須的參數)。 第13行若前面所列項目都不符合,則進行此區塊的程式敘述。 8-7 前置處理器 #include指令 #include前端處理器指令能將所指定路徑的檔案含括(include)至目前的程式檔案中,接著您就可以在目前的程式碼中使用該含括進來的檔案中所定義的函數或常數了。基本上,除了可含括C所提供的標頭檔外,也能含括自訂的標頭檔。如果要利用#include指令將檔案含括進來,可以有底下兩種語法格式: 8-7 前置處理器 #include 檔案名稱 #include 檔案名稱 範例CH08_29.c 8-7 前置處理器 執行結果 程式解說 第2行引入外部檔案CH08_29_1.h。 第6行呼叫定義在外部檔案中的sayhello()函數。 8-7 前置處理器 QA討論時間 本章結束 執行結果 程式解說 第3行宣告傳回指標值的函數原型。 第8行呼叫add_value ()函數,並傳值給ptr指標變數。 第10行輸出ptr指標變數的內容。 第18行函數宣告為傳回指標變數。 第25行輸入input與input1變數的值。 第27行兩數相加。 第29行傳回值為指標變數。 8-4 陣列、指標與函數的應用 函數指標 指向函數的指標稱之。 函數指標是 C 語言中一項相當有特色的功能。假設有多個格式相類似的函數,也就是說函數的引數完全相同,回傳值也相同,那麼可以使用同一個函數指標名稱,於程式執行期間,動態來指向所要執行的函數。 函數指標的宣告格式如下: 8-4 陣列、指標與函數的應用 回傳資料型態 (*函數指標名稱)(參數1資料型態, 參數2資料型態, …); 函數指標 將函數指標指向函數位址的方式有兩種方式
您可能关注的文档
- 小便频数淋沥刺痛.PPT
- 小儿生理病理特点主讲人于金-塘沽博寿堂中医医院.PPT
- 小型分子筛制氧机注册技术审查指导原则.PDF
- 尤其是有选择障碍症的用户-斗茶.DOC
- 就必须依法行政-思想者园地.PPT
- 尿液pH与代谢综合征的相关性-山东大学学报医学版.PDF
- 尼古拉·米尔左夫什么是视觉文化载.PPT
- 屈原问题考辨.PDF
- 山东大学威海分校中心广场设计.PPT
- 师说-中国教育报.PPT
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)