按初學(xué)的理解,return的任務(wù)就是返回對(duì)應(yīng)的參數(shù),在外層函數(shù)中對(duì)這個(gè)參數(shù)做進(jìn)一步處理。
實(shí)際上return的用法不只這些。
為調(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)于將所有返回值打包在一起,一次返回。
提前結(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ù)。
返回一個(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ò)誤原因的。相關(guān)文章推薦:學(xué)習(xí)STM32單片機(jī),繞不開的串口。
審核編輯 :李倩
-
C語言
+關(guān)注
關(guān)注
180文章
7605瀏覽量
136934 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4332瀏覽量
62666 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28388
原文標(biāo)題:C語言中return的各種用法
文章出處:【微信號(hào):?jiǎn)纹瑱C(jī)與嵌入式,微信公眾號(hào):?jiǎn)纹瑱C(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論