weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
          數據加載中……

          內部函數和外部函數

          內部函數和外部函數

          當一個源程序由多個源文件組成時,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 閱讀(420) 評論(0)  編輯  收藏 所屬分類: C/C++

          主站蜘蛛池模板: 涟源市| 中阳县| 竹溪县| 罗定市| 枣强县| 博兴县| 泸溪县| 锦屏县| 古丈县| 高唐县| 绥棱县| 高陵县| 临沧市| 鹤峰县| 兰坪| 嘉禾县| 宁晋县| 贵定县| 盐山县| 永城市| 略阳县| 河津市| 新郑市| 绥阳县| 汶川县| 凤山市| 镇沅| 阳泉市| 沧州市| 诸暨市| 丹阳市| 东山县| 寿宁县| 西华县| 兴国县| 滦南县| 镇坪县| 桐柏县| 新巴尔虎左旗| 藁城市| 惠来县|