8 函式的呼叫

2021-07-03 19:29:12 字數 1757 閱讀 6751

程式中的語句可以採用分組的方式進行管理,每個

分組中包含一些語句.每個分組叫做乙個函式.

乙個c語言程式一定是由乙個或者多個函式構成的

每個函式有自己的名字,不同函式的名稱不同,可以

通過名稱區分不同函式

不同函式之間可以存在呼叫關係

任何一次函式呼叫一定發生在兩個函式之間

函式之間的呼叫關係有時間範圍

在函式呼叫過程中先開始工作的函式叫呼叫函式,後

開始工作的函式叫被呼叫函式

儲存區有主人,主人就是包含它的那個大括號的某一次

執行過程

儲存區只有在它主人存在的時間範圍內是存在的

乙個主人不可以隨便使用別的主人的儲存區,所以不同

主人的儲存區可以重名

絕大多數函式呼叫過程中存在著資料的雙向傳遞

任何乙個方向的資料傳遞都需要被呼叫函式提供一組

專門的儲存區來實現

為了把資料從被呼叫函式傳遞給呼叫函式需要被呼叫

函式提供乙個專門的儲存區,這個儲存區里記錄的

數字就可以讓呼叫函式得到

這個方向上傳遞的資料叫做被呼叫函式的返回值

為了向這個儲存區里放乙個數字被呼叫函式需要使用

return關鍵字編寫語句

呼叫函式把函式呼叫語句當數字使用就可以獲得

返回值這個返回值必須立刻使用或儲存在另外的儲存區里

如果函式名稱前沒有資料型別名稱則計算機認為函式

有乙個整數型別的儲存區

在函式名稱前寫void表示函式沒有返回值儲存區

如果被呼叫函式沒有使用return關鍵字把數字放在

返回值儲存區里則呼叫函式獲得的是乙個隨機數

如果返回值儲存區和返回值資料在型別上不一致則

有可能導致資料丟失

exit標準函式可以隨時結束整個程式的執行

為了使用這個函式需要包含stdlib.h檔案內容

為了從呼叫函式向被呼叫函式傳遞資料需要被呼叫

函式提供一組儲存區,它們的個數和型別都任意

為了代表這組儲存區需要在函式的小括號裡宣告一組

變數,這組變數叫做函式的形式引數

函式小括號裡的所有內容統稱形式引數列表

形式引數的個數任意

形式引數列表中必須為每個變數單獨寫資料型別

函式呼叫語句小括號裡的數字叫實際引數,它們被

儲存在形式引數對應的儲存區里

任何可以當數字使用的內容都可以作為實際引數使用

實際引數和形式引數是兩個完全不同的東西,它們的

關係僅僅是代表了同乙個數字

對形式引數的修改不會影響實際引數

被呼叫函式開始工作的時候建立形式引數對應的儲存區

被呼叫函式結束的時候把形式引數對應的儲存區銷毀

形式引數對應的儲存區只能在被呼叫函式執行期間

可以使用

如果函式的形式引數列表什麼都沒寫表示函式可以有

任意個數任意型別的形式引數

如果函式沒有形式引數則應該用void作為形式引數列表

預習1.陣列作為函式的形式引數

2.函式的顯示宣告和隱式宣告

3.遞迴函式

4.變數的生命週期和作用域

5.程式的分段

6.宣告變數時可以使用的關鍵字

作業1.編寫程式在螢幕上列印如下內容

1 x 9 = 9

2 x 8 = 16

...每行使用一條函式呼叫語句列印

函式的數量越少越好

2.編寫函式根據給定的頭和腳的個數

計算兔子的隻數

如果沒有找到答案使用-1表示結果

8 Lua中呼叫C 函式

來往來往,有來有往才能叫做來往。既然c c 和lua是好親戚,那就會有來有往。之前,我們一直在討論在c c 中如何使用lua提供的變數和函式。從這篇文章開始,咱們來討論一下如何在lua中使用c c 提供的變數 函式甚至類。當然,我們還是假設lua是嵌入c c 程式裡面的。所以,使用lua依然是為了擴...

C 語言學習記錄 8 函式的遞迴呼叫

函式的遞迴呼叫將以計算乙個數的階乘為例。include using namespace std unsigned func unsigned n intmain 以上的過程基於階乘的性質 n n n 1 n n n 1 n n n 1 藉此進行函式的遞迴呼叫。遞迴呼叫顧名思義就是在使用該函式的同時直...

函式的呼叫

1.傳值呼叫 函式的形參和實參分別占有不同記憶體塊,對形參的修改不會影響實參。2.傳址呼叫 傳址呼叫是把函式外部建立變數的記憶體位址傳遞給函式引數的一種呼叫函式的方式。這種傳參方式可以讓函式和函式外邊的變數建立起正真的聯絡,也就是函式內部可以直接操作函式外部的變數。練習 1.呼叫函式實現兩個數字的交...