按初學(xué)的理解,return的任務(wù)就是返回對應(yīng)的參數(shù),在外層函數(shù)中對這個(gè)參數(shù)做進(jìn)一步處理。
實(shí)際上return的用法不只這些。
1、為調(diào)用的函數(shù)返回參數(shù)值
此類應(yīng)用最為普遍,通常是在一個(gè)具有返回值的函數(shù)中,返回一個(gè)參數(shù)值,這個(gè)返回的參數(shù)可以是一個(gè)數(shù)、表達(dá)式。通常情況下,返回值是一個(gè)值,如果想返回多個(gè)值可以參考以下三點(diǎn):
設(shè)置全局變量,全局變量是定義在函數(shù)外的一個(gè)變量,其不屬于任何一個(gè)函數(shù),所以,雖然在調(diào)用函數(shù)中return返回一個(gè)值,但可以將其余的返回值賦值給全局變量,這樣就做到了返回多個(gè)值的效果。
使用數(shù)組名或指針作為函數(shù)形參,返回的是一個(gè)地址,主函數(shù)可以根據(jù)這個(gè)地址找到多個(gè),要返回的數(shù)據(jù)。
使用結(jié)構(gòu)體作為函數(shù)形參,結(jié)構(gòu)體中可以包含多種形式的變量,以結(jié)構(gòu)體作為形參相當(dāng)于將所有返回值打包在一起,一次返回。
2、提前結(jié)束函數(shù)
由于return具有把程序流程從被調(diào)函數(shù)轉(zhuǎn)向主調(diào)函數(shù)的作用,所以時(shí)候也會(huì)用來終止函數(shù)的調(diào)用,也就是說return是提前結(jié)束函數(shù)的唯一方法。因?yàn)楹瘮?shù)一遇到return就立即返回,return后面的程序都不再執(zhí)行,所以一個(gè)函數(shù)中可以有多個(gè)return,但只會(huì)執(zhí)行一個(gè)。return后面可以跟一個(gè)參數(shù)作為返回值,也可以不跟參數(shù),僅僅代表結(jié)束此函數(shù)。
3、返回一個(gè)函數(shù)
如果return后面跟的是一個(gè)函數(shù)的話,就意味著,跳出此調(diào)用函數(shù),并且跳出后執(zhí)行return后的函數(shù),然后繼續(xù)在主函數(shù)中執(zhí)行程序。有時(shí)利用return返回一個(gè)操作,比如在程序調(diào)試中出錯(cuò)后,需要return跳出錯(cuò)誤函數(shù)并向串口打印出錯(cuò)誤的原因,這個(gè)時(shí)候return后面的函數(shù)就用來向串口打印錯(cuò)誤原因的。
責(zé)任編輯:lq6
-
C語言
+關(guān)注
關(guān)注
180文章
7614瀏覽量
137266 -
Return
+關(guān)注
關(guān)注
0文章
9瀏覽量
7623
原文標(biāo)題:C語言中return的各種用法
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論