版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第4章 函數(shù)和作用域,4. 1 函數(shù)的定義和說明 1. 函數(shù)的定義格式 類型函數(shù)名(參數(shù)表) 函數(shù)體 C+程序中函數(shù)的類型不可省略。,例如, void noting( ) 2. 函數(shù)的說明 一個函數(shù)先調用而后定義時,調用前必須說明。 說明函數(shù)的方法如下: 類型函數(shù)名(參數(shù)個數(shù)和類型) C+程序中函數(shù)說明一律采用原理說明。,4. 2 函數(shù)的調用 1. 函數(shù)的傳值調用 該調用(同C語言)又分如下兩種。 (1) 傳值調用 實參用表達式,形參用變量名,實參將復制副本形參。在被調用函數(shù)中形參的改變將不影響調用函數(shù)的實參。 (2) 傳址調用 實參用地址值,形參用指針,調用時將地址值傳送給指針,即讓指針指向
2、實參變量或對象。被調用函數(shù)中可以通過改變形參所指向的值來改變實參。,2. 引用調用 引用調用時,實參用變量名或對象名,形參用變量或對象的引用。實際傳送的是地址值。在被調用函數(shù)中改變形參值,則調用函數(shù)中實參值也被改變。引用調用具有傳址調用的特點,而在操作中又比傳址調用方便、直觀。因此,在C+程序中多用引用調用。 參見例4. 3、例4. 4和例4. 5。,4.3 函數(shù)參數(shù) 1. 函數(shù)參數(shù)的求值順序 應注意不同編譯系統(tǒng)中,函數(shù)參數(shù)求值的順序可能不同。因此,在不同編譯系統(tǒng)下,當實參表達式中出現(xiàn)有副作用的運算符時,可能產生二義性。 2. 設置函數(shù)參數(shù)的默認值 C+語言中,允許在定義或說明函數(shù)時設置函數(shù)形
3、參的默認值。,具體規(guī)則如下: 設置參數(shù)默認值時,要求從右向左設置 調用設置了默認參數(shù)的函數(shù)時,對應實參如果沒有,則用默認值,如果存在,則用實參值 如果一個函數(shù)有說明出現(xiàn)時,設置參數(shù)默認值應放在函數(shù)說明中 參見例4.7、例4.8。 3. 數(shù)組名可作為函數(shù)參數(shù) 參見例4.11。,4.4 內聯(lián)函數(shù) 1. 引進內聯(lián)函數(shù)的目的是為了提高函數(shù)的執(zhí)行效果。 2. 內聯(lián)函數(shù)的定義方法 在函數(shù)頭前加關鍵字inline,則該函數(shù)為內聯(lián)函數(shù)。 參見例4.12。 3. 使用內聯(lián)函數(shù)應注意的事項 通常情況下是將一些函數(shù)體不大使用頻繁的函數(shù)定義為內聯(lián)函數(shù)。 使用內聯(lián)函數(shù)時應注意: 內聯(lián)函數(shù)體內不允許用循環(huán)語句和開關語句
4、內聯(lián)函數(shù)的定義必須出現(xiàn)在第一次調用之前 類體內定義的所有成員函數(shù)都是內聯(lián)函數(shù),4.5 函數(shù)重載 1. 什么是函數(shù)重載 函數(shù)重載是指同一個函數(shù)名對應著多個不同的實現(xiàn)。 2. 定義重載函數(shù)時應注意什么 多個重載的同名函數(shù)在定義時要注意它們的參數(shù)的不同,主要是參數(shù)個數(shù)不同、參數(shù)類型不同和參數(shù)順序不同。 在選擇重載函數(shù)的不同實現(xiàn)時,主要根據(jù)參數(shù)不同進行選擇。 參見例4.13、例4.14。,4.6 函數(shù)的嵌套調用和遞歸調用 1. 函數(shù)的嵌套調用 參見例4.15。 2. 函數(shù)的遞歸調用 (1) 遞歸調用的特點 (2) 遞歸調用的執(zhí)行過程 參見例4.16。,4.7 存儲類 1. 變量的存儲類 (1) 變量存儲類的種類 自動類 寄存器類 外部類 靜態(tài)類(內部靜態(tài)和外部靜態(tài)),(2) 不同存儲類變量的作用域和壽命 作用域分為程序級、文件級、函數(shù)級和分程序級 壽命分為長和短兩種。存放在內存的靜態(tài)區(qū)的壽命長,存放在寄存器和內存的動態(tài)區(qū)的壽命短。 (3) 不同存儲類變量的定義方法 (4) 自動類、內部靜態(tài)類和外部類的特點 參見例4.20、例4.21。,2. 函數(shù)的存儲類 (1) 函數(shù)存儲類的種類 函數(shù)存儲類分兩種: 內部函數(shù)和外部函數(shù)。 (2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川南充營華物業(yè)管理有限公司招聘工作人員28人筆試模擬試題及答案解析
- 2025山東大學晶體材料研究院(晶體材料全國重點實驗室)非事業(yè)編制人員招聘1人考試備考題庫附答案
- 2025年齊齊哈爾泰來縣城鎮(zhèn)建設服務中心公開招聘市政園林養(yǎng)護工作人員3人備考題庫附答案
- 2025年天地(榆林)開采工程技術有限公司招聘(3人)考試參考題庫附答案
- 2025廣東省清遠市清城區(qū)下半年招聘中學教師45人備考題庫附答案
- 2025山東青島上合臨空控股發(fā)展集團有限公司社會招聘5人考前自測高頻考點模擬試題附答案
- 2025年舟山市定海區(qū)醫(yī)療集團赴浙江中醫(yī)藥大學招聘醫(yī)學類畢業(yè)生2人(公共基礎知識)測試題附答案
- 2026貴州黔南州惠水縣廉潔征兵監(jiān)督員筆試模擬試題及答案解析
- 2026安徽醫(yī)科大學臨床醫(yī)學院人才招聘124人筆試備考試題及答案解析
- 制造企業(yè)年度生產總結【演示文檔課件】
- 2024年重慶市優(yōu)質企業(yè)梯度培育政策解讀學習培訓課件資料(專精特新 專精特新小巨人中小企業(yè) 注意事項)
- 老年人高血壓的護理
- 糧油產品授權書
- 責任督學培訓課件
- 關于安吉物流市場的調查報告
- 抑郁病診斷證明書
- 心電監(jiān)測技術操作考核評分標準
- 歷史時空觀念的教學與評價
- 維克多高中英語3500詞匯
- 第五屆全國輔導員職業(yè)能力大賽案例分析與談心談話試題(附答案)
- LY/T 2501-2015野生動物及其產品的物種鑒定規(guī)范
評論
0/150
提交評論