C語(yǔ)言 函數(shù)的返回值
C語(yǔ)言的函數(shù)兼有其他語(yǔ)言中的函數(shù)和過(guò)程兩種功能,從這個(gè)角度看,可以認(rèn)為有返回值的函數(shù)實(shí)現(xiàn)的是其他語(yǔ)言中的函數(shù)的功能,而無(wú)返回值的函數(shù)實(shí)現(xiàn)的是其他語(yǔ)言中的過(guò)程的功能。
對(duì)于有返回值的函數(shù),返回值由return語(yǔ)句帶回。
(1)return語(yǔ)句的一般格式
return (返回值表達(dá)式);
(2)return語(yǔ)句的功能
將被調(diào)函數(shù)中的一個(gè)確定值帶回主調(diào)函數(shù)中,并終止被調(diào)函數(shù)的執(zhí)行,返回調(diào)用函數(shù)。
(3)說(shuō)明
①只要函數(shù)需要返回值,必須使用return語(yǔ)句。調(diào)用函數(shù)中無(wú)return語(yǔ)句,并不是不返回一個(gè)值,而是一個(gè)不確定的值。為了明確表示不返回值,可以用“void”定義成“無(wú)(空)類型”。
②return后面的表達(dá)式應(yīng)該和函數(shù)類型一致。如果return后面的表達(dá)式的值與函數(shù)類型不一致,以函數(shù)類型為準(zhǔn)。如果缺省函數(shù)類型,則系統(tǒng)_律按整型處理。為了使程序具有良好的可讀性并減少出錯(cuò),即使函數(shù)類型為整型,也不使用系統(tǒng)的缺省處理,而是明確聲明。
③一個(gè)函數(shù)中可以有多個(gè)return語(yǔ)句,但只有一個(gè)retum語(yǔ)句起作用,當(dāng)執(zhí)行到其中一個(gè)return時(shí),函數(shù)執(zhí)行結(jié)束,返回主調(diào)函數(shù)。
從編譯的角度來(lái)說(shuō),函數(shù)聲明是對(duì)編譯器的提示,使編譯器在詞法解析過(guò)程中,針對(duì)標(biāo)識(shí)符的語(yǔ)法檢查工作不必?cái)R置,耗費(fèi)內(nèi)存去檢查后續(xù)代碼,或者在查找定義中消耗額外時(shí)間,這點(diǎn)對(duì)于早期硬件條件昂貴的環(huán)境下提高編譯效率是非常重要的。
點(diǎn)擊加載更多評(píng)論>>