新手C語言教程第六彈|樂高積木與模塊,黑匣子與函數

回顧

新手C語言教程第六彈|樂高積木與模塊,黑匣子與函數

簡單講一下什麼是函數,你可以理解為把我們經常要使用一些語句用一些方法固定下來,比如我要經常要幹一些些無聊的事情,比如打印一段話很多篇,計算圓的面積。這是一項非常枯燥而且繁瑣的工作,於是我們就需要函數啦,只需要“餵給”函數特定的一些值,他就會給你“吐出”一些結果,你“餵給”它的值叫做參數,函數“吐給”你的值叫做返回值。為了讓程序運行的更加健壯,我們需要給參數和返回值做一些約束性工作。例如,你只能給小狗喂肉,喂骨頭,或者狗糧,但你絕對不能給他喂秤砣,喂玻璃。並且他也只能拉出翔,拉不出來鑽石,這就比較符合一般生活邏輯。函數的一半書寫規則是這樣的:

新手C語言教程第六彈|樂高積木與模塊,黑匣子與函數

紅框中的內容為函數的一般結構

如果你不想要返回值,也不想要參數那你可以在他們相應的位置填上void。因此我們可以這樣簡單理解一下函數。那麼現在第二行就很好理解了,返回值類型是int,返回值類型這個可以先不管,以後慢慢講。傳入的參數是void,表示啥也不傳入,函數體是第3行和第4行的內容,第3行的作用是在屏幕上輸出hello world這幾個字符,第 4行只返回了一個數,那就是0。第5行則是一個 } 符號,讓函數體完整起來。

這是我前面第一彈所講的內容,首先我們一定要堅定一個思想,那就是函數設計出來並不是為了加重人們編寫軟件的工作負擔,而是為了更好地,更方便地編寫軟件。

樂高積木與函數

新手C語言教程第六彈|樂高積木與模塊,黑匣子與函數

首先函數很好地體現了模塊化的思想,就像樂高積木一樣,一個應用程序或者軟件的完成是由一個個模塊搭建起來,比如微軟的office全家桶,office裡面有文字處理模塊,有圖片處理模塊,有格式處理模塊等等。假如我們要完成一份精美的PPT或者簡歷,我們需要用到很多功能。我們把這些功能一一剝離並固定下來。這就成了模塊,而模塊是怎麼樣實現的呢,就是依靠函數來實現。

新手C語言教程第六彈|樂高積木與模塊,黑匣子與函數

大功能是由小功能來實現的

因此函數對我們來說有很重要的功能,並且,這樣會帶來另外一個好處,函數的內容一旦編寫好了之後,你就可以隨時隨地地調用他,不需要再重新寫一次,因此合理地函數使用和搭配會讓程序的結構更加清晰便於閱讀。

一些要注意的小細節

  1. 函數可以調用函數A,函數A可以調用函數B,函數B可以調用C……,只要需要,這個關係可以一直下去。
  2. 函數里面不能定義函數
  3. 函數的使用:函數名(參數類型1 參數1,參數類型2 參數2……),記得中間有半角逗號
  4. 函數A要調用函數B,請把函數B定義在函數A的前面,因為編譯工作是從前往後進行的,沒有前面“種瓜”,那有後面“得豆”呢


分享到:


相關文章: