C 語(yǔ)言中的函數(shù)
1. 函數(shù)的定義
程序是由一個(gè)個(gè)函數(shù)組成的。我們之前雖然沒(méi)有正式介紹函數(shù),但是我們?cè)缫呀?jīng)開(kāi)始使用函數(shù)了。因?yàn)殡x開(kāi)了函數(shù),我們的程序沒(méi)有辦法正常的工作。只不過(guò)我們使用的是 C 語(yǔ)言內(nèi)置的標(biāo)準(zhǔn)函數(shù)庫(kù)。
那么函數(shù)是什么?
函數(shù)是由一組語(yǔ)句組成完成至少一個(gè)特定任務(wù)的語(yǔ)句的集合。在 C 語(yǔ)言中,我們必須要包含一個(gè)函數(shù),就是我們最開(kāi)始介紹的 mian 函數(shù)。
2. 為什么需要函數(shù)?
函數(shù)幫助我們可以減少代碼的冗余,也就是不用為了實(shí)現(xiàn)一個(gè)相同的功能而把這個(gè)功能的代碼分別粘貼在這個(gè)功能出現(xiàn)的地方。
但是這個(gè)代碼要是一兩行還好,要是比較復(fù)雜,那么所占用的篇幅將會(huì)非常巨大。有了函數(shù),我們只要編寫一次實(shí)現(xiàn)這個(gè)功能,在需要使用這個(gè)功能的地方直接調(diào)用這個(gè)函數(shù)就可以,由原來(lái)的可能成百上千行的粘貼直接變?yōu)榱艘恍械恼{(diào)用。
如果這個(gè)常用的功能要進(jìn)行修改。在粘貼的情況下,你要修改你粘貼過(guò)的每一個(gè)地方。這不僅僅是耗時(shí)費(fèi)力,還有可能出現(xiàn)遺漏。
函數(shù)的使用還能使得程序更易于閱讀與維護(hù)。使用函數(shù)會(huì)讓程序變得模塊化。每個(gè)函數(shù)是一個(gè)實(shí)現(xiàn)一個(gè)完整功能的模塊。當(dāng)我們需要開(kāi)發(fā)新的程序的時(shí)候,只要按照需要把每個(gè)模塊拼接在一起就可以。
當(dāng)程序出現(xiàn)錯(cuò)誤的時(shí)候。我們也可以很快的分別測(cè)試每個(gè)模塊,而不是通過(guò)在一個(gè)非常長(zhǎng)的程序中通過(guò)斷點(diǎn)測(cè)試的方式一點(diǎn)點(diǎn)進(jìn)行。
函數(shù)同時(shí)還提供了程序的抽象化,也就是我們不需要關(guān)注一些函數(shù)內(nèi)部的工作方式就可以使用他們。比如我們最常用的屏幕打印函數(shù),這個(gè)函數(shù)非常常用。使用這個(gè)函數(shù)是要根據(jù)函數(shù)名直接調(diào)用就可以了,不用了解內(nèi)部是如何工作的。這讓你更加專注于你的程序功能的實(shí)現(xiàn),而不是別人的程序的工作情況,可以極大的提高你的程序的開(kāi)發(fā)效率。
3. 小結(jié)
函數(shù)是現(xiàn)代編程語(yǔ)言中的重要組成部分。肩負(fù)著實(shí)現(xiàn)程序功能的職責(zé)。是程序的基本組成單元。好的函數(shù)往往只實(shí)現(xiàn)簡(jiǎn)單的單一的功能,而不是大而全的萬(wàn)金油。要盡量的瘦身。