0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你都知道C語言中return的哪些用法?

STM32嵌入式開發(fā) ? 來源:Aspirant-GQ ? 作者:Aspirant-GQ ? 2021-06-23 13:39 ? 次閱讀

按初學(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    EE-62:在C語言中訪問短字內(nèi)存

    電子發(fā)燒友網(wǎng)站提供《EE-62:在C語言中訪問短字內(nèi)存.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 14:02 ?0次下載
    EE-62:在<b class='flag-5'>C</b><b class='flag-5'>語言中</b>訪問短字內(nèi)存

    EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù)

    電子發(fā)燒友網(wǎng)站提供《EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù).pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:48 ?0次下載
    EE-128:<b class='flag-5'>C</b><b class='flag-5'>語言中</b>的DSP:從<b class='flag-5'>C</b>調(diào)用匯編類成員函數(shù)

    C語言中申請的堆內(nèi)存能不能自動(dòng)釋放

    C語言中申請的堆內(nèi)存能不能自動(dòng)釋放?每次都要手動(dòng) free 太麻煩,也容易忘記。 學(xué)過 C++ 的同學(xué),應(yīng)該首先能想到智能指針。 但是這是C語言
    的頭像 發(fā)表于 11-27 09:33 ?150次閱讀

    C語言中的頭文件能不能重復(fù)包含

    C語言中的頭文件能不能重復(fù)包含? 比如代碼寫成這樣,stdio.h 連續(xù)包含了兩次。 #include #include int main(){ printf("helloworld
    的頭像 發(fā)表于 11-26 17:19 ?207次閱讀

    C語言中的socket編程基礎(chǔ)

    Socket編程簡介 Socket是一種通信機(jī)制,允許程序之間進(jìn)行通信。在C語言中,socket編程是網(wǎng)絡(luò)編程的基礎(chǔ)。通過使用socket,程序可以發(fā)送和接收數(shù)據(jù),實(shí)現(xiàn)不同計(jì)算機(jī)之間的通信
    的頭像 發(fā)表于 11-01 16:51 ?392次閱讀

    C語言中最常見的宏定義寫法

    如果讓C語言寫個(gè)宏定義,我相信大部分同學(xué)順手就能寫出define。
    的頭像 發(fā)表于 10-28 11:12 ?338次閱讀

    c語言中從左到右結(jié)合怎么看

    C語言中,操作符的結(jié)合性(Associativity)是指當(dāng)操作符在表達(dá)式中連續(xù)出現(xiàn)時(shí),它們?nèi)绾闻c操作數(shù)結(jié)合的順序。對于大多數(shù)二元操作符(即需要兩個(gè)操作數(shù)的操作符),C語言遵循兩種基
    的頭像 發(fā)表于 08-20 11:42 ?1000次閱讀

    C語言中,同一個(gè)函數(shù)能不能被定義兩次?

    稍微有點(diǎn)C語言基礎(chǔ)的同學(xué),一定知道不能這樣做。
    的頭像 發(fā)表于 05-11 18:27 ?1823次閱讀

    嵌入式系統(tǒng)中C語言結(jié)構(gòu)體的基礎(chǔ)實(shí)現(xiàn)與應(yīng)用

    C語言中的數(shù)組只能允許程序員定義存儲(chǔ)相同類型數(shù)據(jù)。但是結(jié)構(gòu)是C語言編程中允許您存儲(chǔ)不同數(shù)據(jù)類型的數(shù)據(jù)。
    發(fā)表于 03-12 14:29 ?534次閱讀
    嵌入式系統(tǒng)中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結(jié)構(gòu)體的基礎(chǔ)實(shí)現(xiàn)與應(yīng)用

    C語言中的typedef的應(yīng)用

    C 語言提供了 typedef 關(guān)鍵字,您可以使用它來為類型取一個(gè)新的名字。下面的實(shí)例為單字節(jié)數(shù)字定義了一個(gè)術(shù)語 BYTE。
    發(fā)表于 03-06 11:34 ?422次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的typedef的應(yīng)用

    C語言#define的應(yīng)用

    C/C++ 編程語言中,當(dāng)程序被編譯時(shí),被發(fā)送到編譯器,編譯器將程序轉(zhuǎn)換為機(jī)器語言,然后完成編譯并執(zhí)行該程序。預(yù)處理器也稱為宏預(yù)處理器。
    發(fā)表于 03-06 11:29 ?408次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>#define的應(yīng)用

    C語言的指針用法

    C語言編程中善用指針可以簡化一些任務(wù)的處理,而對于一些任務(wù)(比如動(dòng)態(tài)內(nèi)存分配),必須要有指針才行的。也就是說精通C指針編程是很有必要的,幫助你成為一名優(yōu)秀的Cer。
    發(fā)表于 03-05 14:22 ?381次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的指針<b class='flag-5'>用法</b>

    介紹C語言中錯(cuò)誤處理和異常處理的一些常用的方法和策略

    C語言是一種低級的、靜態(tài)的、結(jié)構(gòu)化的編程語言,它沒有提供像C++或Java等高級語言中的異常處理機(jī)制,例如try-catch-finally
    的頭像 發(fā)表于 02-28 14:25 ?649次閱讀

    C語言中的可變參數(shù)介紹

    C 語言為這種情況提供了一個(gè)解決方案,它允許您定義一個(gè)函數(shù),能根據(jù)具體的需求接受可變數(shù)量的參數(shù)
    發(fā)表于 02-28 14:00 ?345次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的可變參數(shù)介紹

    枚舉有多大?c語言枚舉end的作用是什么?

    枚舉有多大?c語言枚舉end的作用是什么? 枚舉在C語言中是一種常見的數(shù)據(jù)類型,用于定義一組相互關(guān)聯(lián)的常量或者變量。它通常用于表示一系列可能的取值,使得程序更加易讀和易維護(hù)。在
    的頭像 發(fā)表于 01-19 14:19 ?645次閱讀