在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

goto的優(yōu)缺點(diǎn)

Q4MP_gh_c472c21 ? 來源:二進(jìn)制人生 ? 作者:二進(jìn)制人生 ? 2020-09-29 14:27 ? 次閱讀

很多書籍都會(huì)把“”goto“”當(dāng)成反面教材使用,認(rèn)為如果使用不當(dāng),將會(huì)造成很多意想不到的問題。但goto作為C語言的一部分,存在即合理,goto有它的缺點(diǎn),也有它的優(yōu)點(diǎn)。 缺點(diǎn):
很容易把邏輯弄亂,增加理解難度,goto是可以實(shí)現(xiàn)無條件跳轉(zhuǎn)的,一旦跳轉(zhuǎn),就忽略很前面很多代碼,特別是在一些邏輯復(fù)雜的地方使用,會(huì)很容易出問題。所以goto能不用就不用,特別對(duì)于新手,盡量避諱。
優(yōu)點(diǎn):
方便處理異常情況,特別是內(nèi)存等系統(tǒng)資源的釋放。很多大型項(xiàng)目,開源項(xiàng)目,包括Linux內(nèi)核,都會(huì)使用goto來處理異常情況。 舉個(gè)例子,以下情況,大家第一反應(yīng)是沒有問題,其實(shí)是存在內(nèi)存泄漏隱患的。如果變量pdate2申請(qǐng)失敗,則退出函數(shù)。那么問題來了, pdate 申請(qǐng)成功了,但沒有得到釋放,出現(xiàn)了內(nèi)存泄漏。所以這種情況如果使用goto,就很容易解決問題。

int module_init(){ char *pdate = (char *)malloc(100); if(pdate == NULL) return -1; char *pdate2 = (char *)malloc(100); if(pdate2 == NULL) return -1; free(pdate); free(pdate2); ......}

goto實(shí)現(xiàn)代碼

int module_init(){ char *pdate = (char *)malloc(100); if(pdate == NULL) goto err; char *pdate2 = (char *)malloc(100); if(pdate2 == NULL) goto err; free(pdate); free(pdate2); ...... err://統(tǒng)一的出錯(cuò)處理 if(pdate != NULL) free(pdate); if(pdate2!= NULL) free(pdate2);return-1;}另一種寫法就是分階段處理:

if(pdate == NULL)gotoerr1;...if(pdate2==NULL) goto err2; ...err1: free(pdate);err2: free(pdate2);...

總結(jié):存在即合理,好壞取決于如何使用。

-END-

來源 | 二進(jìn)制人生

原文標(biāo)題:goto語句對(duì)與錯(cuò)

文章出處:【微信公眾號(hào):嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    96

    文章

    2951

    瀏覽量

    67978

原文標(biāo)題:goto語句對(duì)與錯(cuò)

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PCBA 表面處理:優(yōu)缺點(diǎn)大揭秘,應(yīng)用場(chǎng)景全解析

    一站式PCBA加工廠家今天為大家講講PCBA加工如何選擇合適的表面處理工藝?PCBA表面處理優(yōu)缺點(diǎn)與應(yīng)用場(chǎng)景。在電子制造中,PCBA板的表面處理工藝對(duì)電路板的性能、可靠性和成本都有重要影響。選擇合適
    的頭像 發(fā)表于 05-05 09:39 ?225次閱讀
    PCBA 表面處理:<b class='flag-5'>優(yōu)缺點(diǎn)</b>大揭秘,應(yīng)用場(chǎng)景全解析

    硅谷物理服務(wù)器的優(yōu)缺點(diǎn)分析

    硅谷物理服務(wù)器因其高性能、高質(zhì)量和先進(jìn)的技術(shù)支持而在全球范圍內(nèi)享有很高的聲譽(yù)。硅谷物理服務(wù)器的優(yōu)缺點(diǎn)分析如下,主機(jī)推薦小編為您整理發(fā)布硅谷物理服務(wù)器的優(yōu)缺點(diǎn)分析。
    的頭像 發(fā)表于 02-12 09:30 ?294次閱讀

    香港主機(jī)托管和國(guó)內(nèi)主機(jī)的優(yōu)缺點(diǎn)比較

    香港主機(jī)托管和國(guó)內(nèi)主機(jī)(以大陸主機(jī)為例)的優(yōu)缺點(diǎn)比較,主機(jī)推薦小編為您整理發(fā)布香港主機(jī)托管和國(guó)內(nèi)主機(jī)的優(yōu)缺點(diǎn)比較,希望對(duì)您有幫助。
    的頭像 發(fā)表于 02-05 17:42 ?376次閱讀

    東京站群服務(wù)器有哪些優(yōu)缺點(diǎn)

    東京站群服務(wù)器,作為部署在東京地區(qū)的服務(wù)器集群,專為站群優(yōu)化而建,其優(yōu)缺點(diǎn)如下,主機(jī)推薦小編為您整理發(fā)布東京站群服務(wù)器有哪些優(yōu)缺點(diǎn)。
    的頭像 發(fā)表于 02-05 17:39 ?314次閱讀

    光譜傳感器的優(yōu)缺點(diǎn)

    光譜傳感器是一種能夠檢測(cè)并響應(yīng)光譜范圍內(nèi)不同波長(zhǎng)光線的傳感器。以下是對(duì)其優(yōu)缺點(diǎn)的詳細(xì)分析:
    的頭像 發(fā)表于 01-27 15:28 ?553次閱讀

    不同類型adc的優(yōu)缺點(diǎn)分析

    ADC(模數(shù)轉(zhuǎn)換器)是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的電路,根據(jù)轉(zhuǎn)換原理和應(yīng)用需求的不同,ADC可以分為多種類型,每種類型都有其獨(dú)特的優(yōu)缺點(diǎn),以下是對(duì)不同類型ADC的優(yōu)缺點(diǎn)分析: 逐次逼近型ADC(SAR
    的頭像 發(fā)表于 11-19 16:58 ?2671次閱讀

    開環(huán)和閉環(huán)功放的區(qū)別,優(yōu)缺點(diǎn),應(yīng)用場(chǎng)合有什么不同?

    問下TI的工程師,開環(huán)和閉環(huán)功放的區(qū)別,優(yōu)缺點(diǎn),應(yīng)用場(chǎng)合有什么不同?請(qǐng)解釋下,謝謝!
    發(fā)表于 11-04 06:33

    不同類型UPS電源的優(yōu)缺點(diǎn)

    不間斷電源(UPS)是為關(guān)鍵設(shè)備提供穩(wěn)定、不間斷電力供應(yīng)的重要設(shè)備。根據(jù)設(shè)計(jì)和功能的不同,UPS可以分為幾種類型,每種類型都有其獨(dú)特的優(yōu)缺點(diǎn)。以下是一些常見的UPS類型及其優(yōu)缺點(diǎn)的概述: 在線式
    的頭像 發(fā)表于 10-28 10:45 ?1748次閱讀

    FPGA與ASIC的優(yōu)缺點(diǎn)比較

    FPGA(現(xiàn)場(chǎng)可編程門陣列)與ASIC(專用集成電路)是兩種不同的硬件實(shí)現(xiàn)方式,各自具有獨(dú)特的優(yōu)缺點(diǎn)。以下是對(duì)兩者優(yōu)缺點(diǎn)的比較: FPGA的優(yōu)點(diǎn) 可編程性強(qiáng) :FPGA具有高度的可編程性,可以靈活
    的頭像 發(fā)表于 10-25 09:24 ?1587次閱讀

    鋅銀電池的優(yōu)缺點(diǎn)_鋅銀電池的應(yīng)用

    鋅銀電池,也稱為銀鋅電池,是一種具有顯著特點(diǎn)的電池類型。以下是鋅銀電池的優(yōu)缺點(diǎn)詳細(xì)分析:
    的頭像 發(fā)表于 10-03 14:51 ?2783次閱讀

    雪崩晶體管有哪些優(yōu)缺點(diǎn)

    雪崩晶體管作為一種特殊的半導(dǎo)體器件,在電子領(lǐng)域具有其獨(dú)特的優(yōu)缺點(diǎn)。
    的頭像 發(fā)表于 09-23 18:05 ?661次閱讀

    運(yùn)放恒流源有哪些優(yōu)缺點(diǎn)

    運(yùn)放恒流源,即利用運(yùn)算放大器(Operational Amplifier,簡(jiǎn)稱運(yùn)放)構(gòu)成的恒流源電路,具有一系列獨(dú)特的優(yōu)點(diǎn)和缺點(diǎn)。以下是對(duì)其優(yōu)缺點(diǎn)的詳細(xì)分析。
    的頭像 發(fā)表于 08-28 10:18 ?2034次閱讀

    GaN HEMT有哪些優(yōu)缺點(diǎn)

    GaN HEMT(氮化鎵高電子遷移率晶體管)作為一種先進(jìn)的功率半導(dǎo)體器件,在電力電子、高頻通信、汽車電子等多個(gè)領(lǐng)域展現(xiàn)出了顯著的優(yōu)勢(shì),但同時(shí)也存在一些缺點(diǎn)。以下是對(duì)GaN HEMT優(yōu)缺點(diǎn)的詳細(xì)分析:
    的頭像 發(fā)表于 08-15 11:09 ?2747次閱讀

    AI大模型與小模型的優(yōu)缺點(diǎn)

    在人工智能(AI)的廣闊領(lǐng)域中,模型作為算法與數(shù)據(jù)之間的橋梁,扮演著至關(guān)重要的角色。根據(jù)模型的大小和復(fù)雜度,我們可以將其大致分為AI大模型和小模型。這兩種模型在定義、優(yōu)缺點(diǎn)及應(yīng)用場(chǎng)景上存在著顯著的差異。本文將從多個(gè)維度深入探討AI大模型與小模型的特點(diǎn),并分析其各自的優(yōu)缺點(diǎn)
    的頭像 發(fā)表于 07-10 10:39 ?7088次閱讀

    同步整流的優(yōu)缺點(diǎn)有哪些

    同步整流是一種在數(shù)字電路設(shè)計(jì)中常用的技術(shù),它通過將電路中的所有信號(hào)同步到一個(gè)共同的時(shí)鐘信號(hào)上,來實(shí)現(xiàn)信號(hào)之間的同步。這種技術(shù)在數(shù)字電路設(shè)計(jì)中具有重要的作用,但同時(shí)也存在一些優(yōu)缺點(diǎn)。以下是對(duì)同步整流
    的頭像 發(fā)表于 07-09 09:09 ?1991次閱讀
    主站蜘蛛池模板: 最新黄色免费网站 | ts视频在线观看 | 色www永久免费 | 伊人天伊人天天网综合视频 | 婷婷春色 | 68日本xxxxxxxxx xx| 欧美wwwwww| 日日碰狠狠添天天爽五月婷 | 人人人人凹人人爽人人澡 | 亚洲欧洲一二三区 | 亚洲第一区精品日韩在线播放 | 夜色综合| 欧美精品一区二区三区在线播放 | 欧美ggg| 亚洲成人高清在线 | xx毛片| 69性xxxxfreexxxx| 免费的国语一级淫片 | 色中文字幕在线 | 国产免费久久 | 日韩美a一级毛片 | 欧美婷婷| 国产在线精品香蕉综合网一区 | 精品国产高清在线看国产 | 男人都懂的网址在线看片 | 老湿影院免费体验区 | 成年人看的黄色 | 亚洲综合国产一区二区三区 | 精品一区二区国语对白 | www.色亚洲| 88影视在线观看污污 | 好吊操免费视频 | 777欧美午夜精品影院 | 男人不识本站 | 天天干天日| 亚洲一区二区三区电影 | 久草a视频| yy4080午夜理论一级毛片 | 美国69bj| 毛片多多 | 国产精品一久久香蕉产线看 |