首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱(chēng)英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專(zhuān)四專(zhuān)八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱(chēng)日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱(chēng)計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷(xiāo)員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書(shū)資格 | 心理咨詢師考試 | 出版專(zhuān)業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱(chēng) | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

二級(jí)C輔導(dǎo)教程及考點(diǎn)分析:第五章 函數(shù)

 

    內(nèi)部函數(shù)和外部函數(shù)

    函數(shù)一旦定義后就可被其它函數(shù)調(diào)用。 但當(dāng)一個(gè)源程序由多個(gè)源文件組成時(shí), 在一個(gè)源文件中定義的函數(shù)能否被其它源文件中的函數(shù)調(diào)用呢?為此,C語(yǔ)言又把函數(shù)分為兩類(lèi):

    一、內(nèi)部函數(shù)

    如果在一個(gè)源文件中定義的函數(shù)只能被本文件中的函數(shù)調(diào)用,而不能被同一源程序其它文件中的函數(shù)調(diào)用, 這種函數(shù)稱(chēng)為內(nèi)部函 
    數(shù)。定義內(nèi)部函數(shù)的一般形式是: static 類(lèi)型說(shuō)明符 函數(shù)名(形參表) 例如:
    static int f(int a,int b) 內(nèi)部函數(shù)也稱(chēng)為靜態(tài)函數(shù)。但此處?kù)o態(tài)static 的含義已不是指存儲(chǔ)方式,而是指對(duì)函數(shù)的調(diào)用范圍只局限于本文件。 因此在不同的源文件中定義同名的靜態(tài)函數(shù)不會(huì)引起混淆。

    二、外部函數(shù)
    外部函數(shù)在整個(gè)源程序中都有效,其定義的一般形式為: extern 類(lèi)型說(shuō)明符 函數(shù)名(形參表) 例如:
    extern int f(int a,int b)如在函數(shù)定義中沒(méi)有說(shuō)明extern或static則隱含為extern。在一個(gè)源文件的函數(shù)中調(diào)用其它源文件中定義的外部函數(shù)時(shí),應(yīng) 用extern說(shuō)明被調(diào)函數(shù)為外部函數(shù)。例如:
    F1.C (源文件一)
    main()
    {
    extern int f1(int i); /*外部函數(shù)說(shuō)明,表示f1函
    數(shù)在其它源文件中*/
    ……
    }
    F2.C (源文件二)
    extern int f1(int i); /*外部函數(shù)定義*/
    {
    ……
    }

    本章小結(jié)

    1. 函數(shù)的分類(lèi)
    (1)庫(kù)函數(shù):由C系統(tǒng)提供的函數(shù);
    (2)用戶定義函數(shù):由用戶自己定義的函數(shù);
    (3)有返回值的函數(shù)向調(diào)用者返回函數(shù)值,應(yīng)說(shuō)明函數(shù)類(lèi)型( 即返回值的類(lèi)型 );
    (4)無(wú)返回值的函數(shù):不返回函數(shù)值,說(shuō)明為空(void)類(lèi)型;
    (5)有參函數(shù):主調(diào)函數(shù)向被調(diào)函數(shù)傳送數(shù)據(jù);
    (6)無(wú)參函數(shù):主調(diào)函數(shù)與被調(diào)函數(shù)間無(wú)數(shù)據(jù)傳送;
    (7)內(nèi)部函數(shù):只能在本源文件中使用的函數(shù);
    (8)外部函數(shù):可在整個(gè)源程序中使用的函數(shù)。

    2. 函數(shù)定義的一般形式 
    [extern/static] 類(lèi)型說(shuō)明符 函數(shù)名([形參表]) 方括號(hào)內(nèi)為可選項(xiàng)。

    3. 函數(shù)說(shuō)明的一般形式 [extern] 類(lèi)型說(shuō)明符 函數(shù)名([形參表]); 

    4. 函數(shù)調(diào)用的一般形式 函數(shù)名([實(shí)參表]) 

    5. 函數(shù)的參數(shù)分為形參和實(shí)參兩種,形參出現(xiàn)在函數(shù)定義中,實(shí)參出現(xiàn)在函數(shù)調(diào)用中,發(fā)生函數(shù)調(diào)用時(shí),將把實(shí)參的值傳送給形參。

    6. 函數(shù)的值是指函數(shù)的返回值,它是在函數(shù)中由return語(yǔ)句返回的。

    7. 數(shù)組名作為函數(shù)參數(shù)時(shí)不進(jìn)行值傳送而進(jìn)行地址傳送。形參和實(shí)參實(shí)際上為同一數(shù)組的兩個(gè)名稱(chēng)。因此形參數(shù)組的值發(fā)生變化,實(shí)參數(shù)組的值當(dāng)然也變化。

    8. C語(yǔ)言中,允許函數(shù)的嵌套調(diào)用和函數(shù)的遞歸調(diào)用。

    9. 可從三個(gè)方面對(duì)變量分類(lèi),即變量的數(shù)據(jù)類(lèi)型,變量作用域和變量的存儲(chǔ)類(lèi)型。在第二章中主要介紹變量的數(shù)據(jù)類(lèi)型,本章中介紹了變量的作用域和變量的存儲(chǔ)類(lèi)型。

    10.變量的作用域是指變量在程序中的有效范圍, 分為局部變量和全局變量。

    11.變量的存儲(chǔ)類(lèi)型是指變量在內(nèi)存中的存儲(chǔ)方式,分為靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ),表示了變量的生存期。

    12.變量分類(lèi)特性表存儲(chǔ)方式存儲(chǔ)類(lèi)型說(shuō)明符何處定義生存期作用域賦值前的值可賦初值類(lèi)型動(dòng)態(tài)存儲(chǔ)自動(dòng)變量 auto 寄存器變量 register 函數(shù)或復(fù)合語(yǔ)句內(nèi)被調(diào)用時(shí)在定義它的函數(shù)或復(fù)合語(yǔ)句內(nèi)不定基本類(lèi)型int或char外部變量extern函數(shù)之外整個(gè)源程序整個(gè)源程序靜態(tài)局部變量static 函數(shù)或復(fù)合語(yǔ)句內(nèi)靜態(tài)全局變量static 函數(shù)之外整個(gè)源程序在定義它的函數(shù)或復(fù)合語(yǔ)句內(nèi)在定義它的源文件內(nèi)0任何類(lèi)型。

希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇

更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。