- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch8 Functions Rung-Shiang Cheng 函數的定義 函數的呼叫 使用函數的處理流程 呼叫函數 執行函數中的處理 回到呼叫處 使用引數傳遞資料 當要呼叫出函數時,可將某項資料傳遞到函數內 傳遞給函數的資料稱為引數(argument) 函數可以帶有多個引數,在呼叫時必須要用逗號(,)來區隔所指定的多個引數,這些引數又叫做「引數列表」,它們會依指定的順序傳遞給參數 定義沒有引數的函數時,可以省略引數型態的指定,或指定為void型態 函數的傳回值 從函數本身傳回特定資訊到函數的呼叫來源處 從函數所傳回的資訊稱為傳回值(return value) 傳回值只能有一個 Creating and Using a Simple Function Listing: main-function Creating and Using a Simple Function Listing: sub-function Output: Compiling Programs with Two or More Source Code Files (1/2) Listing: code file1 Compiling Programs with Two or More Source Code Files (2/2) Listing: code file2 Output: Compiling Programs with Two or More Source Code Files (1/2)—使用引數傳遞資料(pass by vale) Listing: code file1 Compiling Programs with Two or More Source Code Files (2/2)—使用引數傳遞資料 Listing: code file2 Output: ANSI C Function Prototyping (when uses imax() incorrectly…) Output: Listing: ANSI C Function Prototyping (ver. 1) Output: Listing: ANSI C Function Prototyping (ver. 2) Output: Listing: 函數的傳回值 Output: Listing: 函數形式的巨集 Listing: Output: 這部份的程式碼會藉由 前置處理器來進行置換 使用函數形式巨集的注意事項 呼叫函數形式巨集的引數可以是任何型態 若是要建立較不容易出錯的程式,儘可能還是使用函數 使用引數傳遞資料 (when uses incorrectly…) Listing: Output: 使用引數傳遞資料(將指標作為函數的引數-- pass by address) Listing: Output: 指標與函數傳遞--氣泡排序法的傳址呼叫範例(1/4) 指標與函數傳遞--氣泡排序法的傳址呼叫範例(2/4) Output: 指標與函數傳遞--氣泡排序法的傳址呼叫範例(3/4) 指標與函數傳遞--氣泡排序法的傳址呼叫範例(4/4) Output: Recursion (1/3) 階層函數之定義 遞迴函數 遞迴函數在每次處理時,都會使問題的範圍縮小 必須有一個終止條件來結束遞迴函數 Recursion (2/3) Listing: Recursion (3/3) Output: 變數與生存空間 區域變數 (local variable) vs.全域變數(global variable) 位在不同函數內的變數,即使名稱相同,也不是同一個變數 ? 變數的名稱可以重複使用 宣告位置 生存空間 區域變數 函數內部 從宣告變數的地方開始到函數結束為止都可利用 全域變數 函數外部 任何函數都可以利用 在不同函數內被宣告的2區域變數,可視為是2個不同的變數 EX1: EX2: 區域變數也可以使用和全區變數相同的變數名稱,只是使用的範圍不同 標準程式庫函數 C語言的開發環境預先定義好的函數,就叫做標準函數庫(standard library)。 使用標準函數庫的標頭檔?加上 使用自訂的標頭檔?加上 使用make編譯檔案--以Linux為例 (1/4) 主程式 使用make編譯檔案--以Linux為例 (2/4) 副程式(函數) 標頭檔(.h檔) 使用make編譯檔案--以Linux為例 (3/4) 在makefile中寫出 mymainc 需要的目標檔, make 會自動判斷每個目標檔相關的原始碼檔案,並直接予以編譯,最後再直接進行連結的動作 使用make編譯檔案--以Linux為例 (4/4) make 會主
文档评论(0)