我曾跟大家講過,為了使零基礎的朋友們能夠入門,我們一點一滴地去講c語言的每一個知識點,咱們每天進步一點點,幾個月后,你就會掌握c這門程序設計語言。
c語言程序文件內容大致可以分為四個部分——頭文件的引用、類型定義、全局變量定義和宏定義、函數聲明、函數的實現。這四個部分并不是必須全部存在的,需要根據實際需求來確定。比如我的c文件里用不到任何全局變量,那自然我就不需要定義全局變量。
上圖是一個c語言程序文件,其第1行到第3行是頭文件的引用,第5行和第6行是變量定義,第7行是函數的聲明。第9行到第25行是main函數和test函數的實現。
下面我們來認識一下函數。上圖中我們對函數有了直觀的認識,像main和test這樣能實現某個或某些功能的代碼段稱為函數。我們把上圖加上標注,看看函數由哪幾部分組成。
圖上標注的是test函數的各個部分名稱,朋友們能自己說出main函數的各個部分名稱嗎?
值得解釋一下的是函數的參數。參數是可有可無的,參數個數也是不確定的,需要根據實際情況來確定要不要給函數設計參數和設計幾個參數。不同參數之間用逗號分隔,像上圖中的test函數就有兩個參數,第1個參數是int型,第2個參數是char *型,而main函數沒有參數,沒有參數的情況參數位置用void表示。函數定義中的參數叫做形參,形參告訴我們調用它時傳入幾個參數,每個參數傳入什么類型的數據。比如test函數的第一個參數是int型的,如果我們調用它時第一個參數傳入的不是int型數據,那編譯的時候編譯器就會報錯,也就是編譯不通過。調用函數時傳入的參數叫做實參,main函數調用test函數時傳入的變量current_id和name_str都是實參。
那么test函數必須要被main函數調用嗎?我們把我們想要的功能都在test函數里實現,不要main函數了行不行?這里告訴朋友們,那是絕對不行的。即使test函數里實現了所有我們想要的功能,也是需要被main函數直接或者間接調用的。我們所舉例子中main函數是直接調用test函數的,那么什么是間接調用?比如test函數被另一個函數test1調用了,main函數調用了test1函數,也就間接調用了test函數。
為什么所有的函數都需要直接或者間接被main函數調用呢?沒有為什么,就是這么規定的。c語言程序必須從main函數開始執行。也就是說,你編寫的所有函數中,必須有個函數名字叫main。如果你想實現一個功能有兩個選擇,一是直接在main函數里實現你的功能,二是新定義一個函數來實現你的功能,然后用main函數調用這個函數。
怎么樣?朋友們是不是對c語言的函數有點感覺了呢?
-
C語言
+關注
關注
180文章
7630瀏覽量
140826 -
函數
+關注
關注
3文章
4374瀏覽量
64448
發布評論請先 登錄
PLC產品故障問題測試的四個部分

模數轉換電路的四個過程
智譜推出四個全新端側模型 攜英特爾按下AI普及加速鍵

AWTK-WEB 快速入門(1) - C 語言應用程序

評論