官术网_书友最值得收藏!

5-2 函數(shù)的基本概念

總結(jié)前面,可以發(fā)現(xiàn)函數(shù)定義的一般形式:

類型標(biāo)識符函數(shù)名([形式參數(shù)列表])

{

局部變量定義;

函數(shù)調(diào)用的一般形式:函數(shù)名([實(shí)參列表]);

調(diào)用一個(gè)函數(shù)非常簡單,如前所見,只要輸入正確的參數(shù),一個(gè)語句就可以調(diào)用一個(gè)函數(shù),而這個(gè)函數(shù)可能具備非常強(qiáng)大的功能。

在使用函數(shù)帶來的巨大好處的時(shí)候,請回顧一下,你是否掌握了以下概念。

1.函數(shù)參數(shù):形參和實(shí)參

在調(diào)用函數(shù)時(shí),大多數(shù)情況下,主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。兩者的數(shù)據(jù)傳遞是通過函數(shù)參數(shù)完成的。

這個(gè)概念也有些像數(shù)學(xué)中的函數(shù)的概念,f(x)中,x是參數(shù),輸入不同的x,f(x)的結(jié)果也不盡相同。

在C語言中,定義函數(shù)時(shí)函數(shù)名后面括號中的變量名稱為“形式參數(shù)”/“形參”;在調(diào)用函數(shù)時(shí),函數(shù)名后面的各種表達(dá)式稱為“實(shí)際參數(shù)”/“實(shí)參”。

2.函數(shù)的返回值

在數(shù)學(xué)中f(x)的結(jié)果要傳遞出來,在C語言中,提供的是差不多相同的機(jī)制,可以采用return語句的一個(gè)結(jié)果,這個(gè)結(jié)果被稱為是函數(shù)的返回值。

不過我們要注意以下三點(diǎn):

(1)C語言中,可以有其他機(jī)制返回需要的數(shù)據(jù),比如后面要講的指針,還有C++中開始提供的引用機(jī)制。

(2)對于比較專業(yè)的程序員來說,return語句一般返回一個(gè)非0值或0值,用來表示程序的成功運(yùn)行或失敗,這在很多專業(yè)代碼中經(jīng)常見到。

(3)函數(shù)執(zhí)行到return語句肯定結(jié)束,但return語句不一定只出現(xiàn)在函數(shù)的最后一行。

3.為什么要為被調(diào)函數(shù)做聲明

這是一個(gè)和編譯相關(guān)的語法形式。

什么是被調(diào)函數(shù)聲明?其實(shí)就是示例5-3中main()主函數(shù)之前的這句int sum(int n);提前聲明了一個(gè)函數(shù)的定義形式。方便編譯器的一種技巧。

當(dāng)被調(diào)用函數(shù)的定義發(fā)生在主調(diào)函數(shù)之前,即可省掉函數(shù)說明。

最好的方法是在文件的開始就為所有被調(diào)函數(shù)做說明。

實(shí)際上,在源代碼文件開始的#include語句,往往就是引入其他庫函數(shù)中的函數(shù)調(diào)用形式,只有在鏈接的時(shí)候,才會去尋找到具體的實(shí)現(xiàn)模塊,然后把代碼鏈接進(jìn)來。

主站蜘蛛池模板: 视频| 申扎县| 洪洞县| 钟祥市| 玛沁县| 晋江市| 长垣县| 张掖市| 阜平县| 通河县| 曲周县| 鹤岗市| 巨鹿县| 清原| 临城县| 库车县| 临泽县| 双牌县| 申扎县| 年辖:市辖区| 米泉市| 桃江县| 永泰县| 花垣县| 达拉特旗| 井陉县| 社会| 牟定县| 宁安市| 阜平县| 卢氏县| 密云县| 太白县| 托克逊县| 来凤县| 乌审旗| 双牌县| 香港 | 昌乐县| 安吉县| 错那县|