weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(12)

          隨筆檔案(8)

          文章分類(421)

          文章檔案(409)

          相冊

          Link

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          內部函數和外部函數

          內部函數和外部函數

          當一個源程序由多個源文件組成時,C語言根據函數能否被其它源文件中的函數調用,將函數分為內部函數外部函數。

           

           

            內部函數(又稱靜態函數)

          如果在一個源文件中定義的函數,只能被本文件中的函數調用,而不能被同一程序其它文件中的函數調用,這種函數稱為內部函數。

          定義一個內部函數,只需在函數類型前再加一個“static”關鍵字即可,如下所示:

          static  函數類型  函數名(函數參數表)

                          {……}

          關鍵字“static”,譯成中文就是靜態的,所以內部函數又稱靜態函數。但此處“static”的含義不是指存儲方式,而是指對函數的作用域僅局限于本文件。

          使用內部函數的好處是:不同的人編寫不同的函數時,不用擔心自己定義的函數,是否會與其它文件中的函數同名,因為同名也沒有關系。

           

           

          外部函數

          外部函數的定義:在定義函數時,如果沒有加關鍵字“static”,或冠以關鍵字“extern”,表示此函數是外部函數:

          [extern]  函數類型  函數名(函數參數表)

                                 {……}

          調用外部函數時,需要對其進行說明:

          [extern]  函數類型  函數名(參數類型表)[,函數名2(參數類型表2)……];

           

          [案例7.11外部函數應用。

          1)文件mainf.c

          main()

          {  extern void input(…),process(…),output(…);      

              input(…);  process(…);  output(…);

          }

           

          2)文件subf1.c

          ……

          extern void input(……)                         /*定義外部函數*/

             {……}

          3)文件subf2.c

          ……

          extern void process(……)                    /*定義外部函數*/

             {……}

          4)文件subf3.c

          ……

          extern void output(……)                      /*定義外部函數*/

             {……}

          轉自:http://www.jxau.edu.cn/jpkc/c/jianggao/075.htm

          posted on 2005-07-10 17:38 weidagang2046 閱讀(421) 評論(0)  編輯  收藏 所屬分類: C/C++

          主站蜘蛛池模板: 安义县| 张家界市| 嘉兴市| 山丹县| 辽阳市| 泰来县| 乾安县| 延川县| 洛阳市| 天长市| 怀集县| 吉木萨尔县| 白水县| 成安县| 响水县| 防城港市| 达孜县| 扶绥县| 黔江区| 崇左市| 邵阳县| 天长市| 阜南县| 准格尔旗| 祁东县| 奉贤区| 宜春市| 石首市| 鄂托克旗| 甘德县| 荣昌县| 太原市| 阿城市| 区。| 陆川县| 海阳市| 华亭县| 崇明县| 隆昌县| 达州市| 张北县|