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 閱讀(423) 評論(0)  編輯  收藏 所屬分類: C/C++

          主站蜘蛛池模板: 特克斯县| 海南省| 青岛市| 英吉沙县| 安国市| 鞍山市| 马山县| 广德县| 岑巩县| 福海县| 汝阳县| 云梦县| 兴文县| 大英县| 江油市| 新源县| 甘泉县| 白玉县| 普宁市| 青州市| 垦利县| 普兰店市| 乌审旗| 花莲市| 邵阳县| 胶州市| 津南区| 定陶县| 尼勒克县| 茶陵县| 景宁| 广水市| 军事| 义乌市| 民勤县| 兰西县| 乐昌市| 普宁市| 揭阳市| 都江堰市| 明溪县|