1. 程式人生 > >C語言模組化程式設計

C語言模組化程式設計

注:不想看我的心路歷程的同學可以直接看加粗字型。

學習過C語言的同學們想必都聽說過模組化程式設計,各類C語言書籍也都陳列了模組化程式設計的好處。

筆者是積體電路類的本科學生,在大一下的時候學校開設C語言程式設計課程,但是如何進行模組化程式設計卻幾乎沒有書籍提起,而且在教學中,由於這不是考察部分,老師也不會教如何模組化程式設計。

相信有許多學習過C語言的同學與我有著相似的經歷。

以下是我自己慢慢嘗試過後的總結。

首先,我們需要了解什麼是模組化程式設計? 模組化程式設計是指在進行程式設計時將一個大程式按照功能劃分為若干小程式模組,每個小程式模組完成一個確定的功能,並在這些模組之間建立必要的聯絡,通過模組的互相協作完成整個功能的程式設計方法。——百度百科

單單就概念而言,好像並不是十分困難。簡單說來,就是把各個功能模組分開裝進不同的C檔案中。 這樣做的好處是化整為零,方便檢視程式碼,也方便呼叫函式。

我一開始是想法是: 1,我把不同功能的函式分別寫在不同的C檔案中。 2,由於程式是從主函式開始的,所以我把工程中所有的預處理命令以及宣告的所有的外部變數以及函式原型,全部寫到了包含主函式的C檔案之中。 我想當然地認為機器在執行主函式的時候會一併讀取要用到的預處理命令函式原型,變數。 這樣,在主函式呼叫的所有函式之前就已經把該準備的“原料”準備好了。 3,貌似很有道理,對不對? 但是這樣寫連編譯都沒有通過。 除了主函式沒有報錯之外,其他的C檔案都存在報錯,錯誤還相當地統一,錯誤主要是: 變數未宣告,函式沒有函式原型。

解決辦法: 1,首先,不同的函式可以分裝在不同的C檔案中,而且C檔名與函式名可以不同,一個C檔案也可以寫多個函式。 2,程式是從主函式開始的,但是在包含主函式的C檔案頂部的預處理檔案及其宣告的變數以及函式原型中: (1)只有C檔案中所需要用到的變數和函式,其頭幾行的變數和函式原型的宣告才是有用。 (2)多餘的預處理命令及宣告不會報錯。 但是讀取的預處理命令以及函式、變數不作用於對該C檔案以外的C檔案。 結論:所以主函式沒有報錯,其他C檔案由於沒有需要的宣告,所以會報錯。