007-函數-C語言筆記

007-函數-C語言筆記

學習目標

1.【瞭解】函數的分類java

2.【掌握】函數的聲明定義和調用c++

3.【掌握】函數的形參和實參程序員

4.【掌握】帶返回值的函數objective-c

5.【掌握】全局變量和局部變量編程

6.【瞭解】註釋插件的安裝和使用數組

1、函數的分類

C程序是由一個一個的函數組成的,咱們天天使用的main函數也是函數。其實函數在其餘編程語言裏也叫方法,java,c++,以及咱們後面立刻要開始學習的objective-c中,函數都叫他方法。編程語言

函數能夠分爲三大類:ide

1.主函數,每一個程序中有且只能有一個、也必須有一個主函數。不管主函數寫在什麼位置,C程序老是從主函數開始執行的,而且只執行main函數,其餘函數都是須要在main函數中調用的。函數

2.程序員自定義函數,就是由咱們本身寫的函數,能夠寫任意個,不限制。學習

3.C語言提供的庫函數,好比printf,scanf函數等等。

2、函數的聲明定義和調用

函數的做用:

1.實現代碼的複用,將1段代碼放在函數之中,何時想要執行這段代碼,咱們只須要調用這個函數就能夠了,減小代碼的冗餘。

2.修改和維護十分的方便,只要修改函數體的代碼,全部在調用函數的地方都會跟着一塊兒改。

3.屏蔽代碼的實現,對於函數的調用者而言,不須要關心函數的內部是如何實現的.,只須要關心函數實現什麼功能。

聲明語法:

定義語法:

調用語法:

例如:

函數名也就是函數的標識符,和咱們變量同樣,要遵照標識符命名規範。通常咱們爲函數命名都是以小字母開頭,若是多個單詞就第一個單詞首字母小寫,後面的每一個單詞首字母大寫。

3、函數的形參和實參

函數的參數:

聲明在定義函數的小括弧之中的變量,就叫作函數的參數,咱們能夠理解爲參數是在函數裏定義的一個局部變量,因此咱們不能在函數之中再聲明1個和參數名相同的局部變量,是會衝突的。

參數如何使用:

由於參數也就是函數裏定義的一個局部變量,因此咱們能夠在函數體內使用參數。當咱們調用1個函數的時候,若是這個這個函數帶了參數,這個時候要求在調用這個函數的時候要爲這個函數的參數賦值。

形式參數:定義在函數的小括弧之中的參數,咱們叫作形式參數, 簡稱形參。

實際參數:在調用函數的時候,實際上爲形參賦的值,就叫作實際參數,簡稱實參。

在調用帶參數的函數的時候,要求調用的時候必需要爲形參賦值,而且實參的類型最好是要和形參的類型一致,若是不一致,會作類型轉換。

例如:

函數的參數有啥用?

調用者能夠將本身的數據,經過參數傳遞到函數的內部去。記住這句話就好了。。。

4、帶返回值的函數

return關鍵字

return關鍵字能夠用在函數之中,若是在函數之中遇到了return關鍵字,就會當即結束這個函數的執行,若是return後面還有函數體代碼是不會被執行的了,而是當即結束這個函數。

break、continue、return的區別

break用在switch-case之中,表明當即結束switch-case結構。用在循環體之中,表明當即結束當前循環結構。

continue只能使用在循環體之中,表明當即結束本次循環。

return用在函數體之中,表明結束函數。

何時函數須要返回值?

當函數執行完畢以後,有1個結果(數據),函數內部不肯定如何處理這個數據。 而且這個數據調用者須要的,調用者本身想要按照本身的方式來處理這個結果。那麼這個時候,函數就應該將這個數據返回給調用者,由調用者本身來決定如何處理這個數據。

函數如何將數據返回給調用者呢?

1). 先肯定函數內部要返回給調用者的數據的類型。

2). 修改函數的返回值類型爲要返回的數據的類型。

3). 在函數結束以前,使用return關鍵字將數據返回。

調用者如何拿到函數返回來的數據呢?

定義1個和函數的返回值類型相同的變量接收就能夠。

例如:

 

5、全局變量和局部變量

局部變量

凡是定義在函數內部的變量,都叫作局部變量。咱們以前學習到的變量都是定義在函數的內部的,因此咱們以前學習到的變量都是局部變量。

全局變量

變量也能夠直接定義在.c源文件之中,也就是定義在函數的外部,這樣的變量咱們叫作全局變量。

全局變量和局部變量的異同

相同點都是變量,都會在內存中申請空間,用來存儲數據。

做用域不一樣

局部變量能夠在函數的內部從定義這個局部變量開始,到這個做用域結束的這段期間均可以訪問。定義在1個函數中的變量,在另外1個函數絕對是不能訪問,由於它屬於不一樣的做用域。

全局變量從定義全局變量出開始,後面的全部的函數均可以訪問這個全局變量,定義在全局變量前面的函數是沒法訪問這個全局變量的。可是通常狀況下,咱們全局變量的聲明都是放在全部的函數的前面的。

默認值不一樣

咱們聲明1個局部變量,若是沒有爲這個局部變量賦值,那麼這個局部變量中的值是垃圾值。

若是咱們聲明1個全局變量,沒有爲這個全局變量賦值,那麼這個全局變量的默認值爲被自動初始化爲0。

回收時間不一樣

局部變量:當定義局部變量的大括弧被執行完畢以後,這個局部變量就會被系統當即回收。

全局變量:知道程序結束的時候,纔會回收全局變量。

例如:

相關文章
相關標籤/搜索