函數(shù)是一個(gè)命名了的代碼塊,我們通過調(diào)用函數(shù)執(zhí)行相應(yīng)的代碼寸莫。其可以有0個(gè)或多個(gè)參數(shù)捺萌,且通常會產(chǎn)生一個(gè)結(jié)果。
可以重載函數(shù)膘茎,同一個(gè)名字可以對應(yīng)幾個(gè)不同的函數(shù)桃纯。
一個(gè)典型的函數(shù)包括:返回類型、函數(shù)名字披坏、由0或多個(gè)形參組成的列表以及函數(shù)體态坦。
形參以逗號隔開,形參的列表位于一對圓括號之內(nèi)棒拂。
函數(shù)執(zhí)行的操作在語句塊中伞梯,該語句塊稱為函數(shù)體。
通過調(diào)用運(yùn)算符來執(zhí)行函數(shù)帚屉。
函數(shù)的調(diào)用完成兩項(xiàng)工作:
用實(shí)參初始化函數(shù)對應(yīng)的形參眶根。
將控制權(quán)轉(zhuǎn)移給被調(diào)用的函數(shù)嗜历。此時(shí)主調(diào)函數(shù)的執(zhí)行被暫時(shí)中斷,被調(diào)函數(shù)開始執(zhí)行。
執(zhí)行函數(shù)的第一步是(隱式地)定義并初始化它的形參怒竿。
當(dāng)遇到一條 return 語句時(shí)函數(shù)結(jié)束執(zhí)行過程。
return 語句和函數(shù)調(diào)用一樣完成兩項(xiàng)工作:
返回 return 語句中的值雹拄。
將控制權(quán)從被調(diào)函數(shù)轉(zhuǎn)移回主調(diào)函數(shù)。
實(shí)參是形參的初始值牺陶。
實(shí)參與形參存在對應(yīng)關(guān)系,但并沒有規(guī)定實(shí)參的求值順序辣之。編譯器能以任意可行的順序?qū)?shí)參求值掰伸。
實(shí)參的類型必須與對應(yīng)的形參類型匹配。
函數(shù)有幾個(gè)形參就必須提供相同數(shù)量的實(shí)參怀估。因?yàn)楹瘮?shù)的調(diào)用規(guī)定實(shí)參數(shù)量應(yīng)與形參數(shù)量一致狮鸭,所以形參一定會被初始化。
函數(shù)的形參列表可以為空多搀,但是不能省略歧蕉。
任意兩個(gè)形參都不能同名,且函數(shù)最外層作用域中的局部變量也不能使用與函數(shù)形參一樣的名字康铭。
大多數(shù)類型都能用作函數(shù)的返回類型惯退。一種特殊的返回類型 void 它表示函數(shù)不返回任何值。
函數(shù)的返回類型不能是數(shù)組類型或函數(shù)類型从藤,但可以是指向數(shù)組或函數(shù)的指針催跪。