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

c語言基礎 發佈 2020-05-07T05:17:08+00:00

前言本文主要介紹的是C語言return,return是函數返回值,本文來聊一聊C語言函數中return的一些使用技巧,分享給大家。希望對於廣大讀者學習C語言有一些幫助。return是什麼?return其英文含義就是返回,用在函數中,退出當前函數.這個想必都知道,分兩種情況:NO.


前言

本文主要介紹的是C語言return,return是函數返回值,本文來聊一聊C語言函數中return的一些使用技巧,分享給大家。希望對於廣大讀者學習C語言有一些幫助。

return是什麼?

return其英文含義就是返回,用在函數中,退出當前函數.這個想必都知道,分兩種情況:

NO.1 函數不帶返回值

NO.2 函數帶返回值


對於帶返回值函數返回,其語法為 return 表達式;返回值可以是一些幾種情況:

  1. 一個常數。
  2. 一個變量,普通變量和指針變量,結構體變量皆可。
  3. 計算式,例如三目表達式是,求和表達式等。
  4. 調用函數,例如函數遞歸。
  5. 變量的地址

ps:返回值的類型須與函數返回值類型一致,如不一致,編譯器會自動做類型轉換,這裡容易出現類型轉換的錯誤.

return 運作機制

首先需要了解函數調用是如何工作的。當調用一個函數時,會發生兩件事:

  1. 當前函數的執行暫停。
  2. 調用的函數執行。

這就是所謂的的控制權轉移。當調用一個函數時,程序的控制從調用函數轉移到被調用函數。return語句將控制權返回到前一個調用它的函數。該函數將從暫停的地方繼續執行。關於函數棧的解釋可以參見號內文章:<<C語言函數的調用原理不理解?深入淺出通俗易懂,一文讀懂函數棧>>

return易錯情況

warning C4715: 「gameOver」: 不是所有的控制項路徑都返回值,這個是新手常見問題。例如如下代碼,在判斷遊戲狀態的時候,寫一個查找返回的函數,很多新手容易忽略未找到的情況。

總結一下,因為容易忽略,其實也是初學者可能不太注意的一些地方,所以在此總結一下:

  1. 不帶返回值的函數,可不加return語句
  2. 帶返回值的函數,注意返回值的類型與函數返回值類型一致
  3. void函數,return更適合做一些防禦性編程,用來提早結束函數的

尾言

文章都是手打原創,每天最淺顯的介紹C語言、C++,windows知識,喜歡我的文章就關注一波吧,每天帶你學習C/C++不同的知識,也可以看到最新更新和之前發表的文章哦。如果足下基礎比較差,不妨關注下人人都可以學習的視頻教程

《C語言51課視頻教程合集》

《C++45課視頻教程》

通俗易懂,深入淺出,一個視頻只講一個知識點。視頻不深奧,不需要鑽研,在公交、在地鐵、在廁所都可以觀看,隨時隨地漲姿勢

如果今天學到知識的,可以在留言區留言學到了哦,如果喜歡可以收藏,轉發,評論哦,這真的對我很重要!!

關鍵字: