C語言函數(shù)返回值到底是個(gè)嘛玩意?莫急!一文帶你了解C語言return

前言
本文主要介紹的是C語言return,return是函數(shù)返回值,本文來聊一聊C語言函數(shù)中return的一些使用技巧,分享給大家。希望對(duì)于廣大讀者學(xué)習(xí)C語言有一些幫助。
return是什么?
return其英文含義就是返回,用在函數(shù)中,退出當(dāng)前函數(shù).這個(gè)想必都知道,分兩種情況:
NO.1 函數(shù)不帶返回值

NO.2 函數(shù)帶返回值

對(duì)于帶返回值函數(shù)返回,其語法為 return 表達(dá)式;返回值可以是一些幾種情況:
一個(gè)常數(shù)。
一個(gè)變量,普通變量和指針變量,結(jié)構(gòu)體變量皆可。
計(jì)算式,例如三目表達(dá)式是,求和表達(dá)式等。
調(diào)用函數(shù),例如函數(shù)遞歸。
變量的地址
ps:返回值的類型須與函數(shù)返回值類型一致,如不一致,編譯器會(huì)自動(dòng)做類型轉(zhuǎn)換,這里容易出現(xiàn)類型轉(zhuǎn)換的錯(cuò)誤.
return 運(yùn)作機(jī)制
首先需要了解函數(shù)調(diào)用是如何工作的。當(dāng)調(diào)用一個(gè)函數(shù)時(shí),會(huì)發(fā)生兩件事:
當(dāng)前函數(shù)的執(zhí)行暫停。
調(diào)用的函數(shù)執(zhí)行。
這就是所謂的的控制權(quán)轉(zhuǎn)移。當(dāng)調(diào)用一個(gè)函數(shù)時(shí),程序的控制從調(diào)用函數(shù)轉(zhuǎn)移到被調(diào)用函數(shù)。return語句將控制權(quán)返回到前一個(gè)調(diào)用它的函數(shù)。該函數(shù)將從暫停的地方繼續(xù)執(zhí)行。關(guān)于函數(shù)棧的解釋可以參見號(hào)內(nèi)文章:<<C語言函數(shù)的調(diào)用原理不理解?深入淺出通俗易懂,一文讀懂函數(shù)棧>>
return易錯(cuò)情況
warning C4715: “gameOver”: 不是所有的控件路徑都返回值,這個(gè)是新手常見問題。例如如下代碼,在判斷游戲狀態(tài)的時(shí)候,寫一個(gè)查找返回的函數(shù),很多新手容易忽略未找到的情況。
總結(jié)一下,因?yàn)槿菀缀雎裕鋵?shí)也是初學(xué)者可能不太注意的一些地方,所以在此總結(jié)一下:
不帶返回值的函數(shù),可不加return語句
帶返回值的函數(shù),注意返回值的類型與函數(shù)返回值類型一致
void函數(shù),return更適合做一些防御性編程,用來提早結(jié)束函數(shù)的
尾言
文章都是手打原創(chuàng),每天最淺顯的介紹C語言、C++,windows知識(shí),喜歡我的文章就關(guān)注一波吧,每天帶你學(xué)習(xí)C/C++不同的知識(shí),也可以看到最新更新和之前發(fā)表的文章哦。如果足下基礎(chǔ)比較差,不妨關(guān)注下人人都可以學(xué)習(xí)的視頻教程
通俗易懂,深入淺出,一個(gè)視頻只講一個(gè)知識(shí)點(diǎn)。視頻不深?yuàn)W,不需要鉆研,在公交、在地鐵、在廁所都可以觀看,隨時(shí)隨地漲姿勢(shì)
如果今天學(xué)到知識(shí)的,可以在留言區(qū)留言學(xué)到了哦,如果喜歡可以收藏,轉(zhuǎn)發(fā),評(píng)論哦,這真的對(duì)我很重要??!