一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

goto的優(yōu)缺點

Q4MP_gh_c472c21 ? 來源:二進制人生 ? 作者:二進制人生 ? 2020-09-29 14:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

來源 | 二進制人生

原文標題:goto語句對與錯

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

責任編輯:haq

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

    關注

    96

    文章

    2953

    瀏覽量

    68346

原文標題:goto語句對與錯

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    硅谷物理服務器的優(yōu)缺點分析

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

    香港主機托管和國內(nèi)主機的優(yōu)缺點比較

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

    東京站群服務器有哪些優(yōu)缺點

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

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

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

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

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

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

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

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

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

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

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

    鋅銀電池的優(yōu)缺點_鋅銀電池的應用

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

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

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

    帶你了解無刷電機與有刷電機的優(yōu)缺點

    無刷電機和有刷電機各有其獨特的優(yōu)缺點,選擇哪種電機類型取決于具體的應用場景和需求。
    的頭像 發(fā)表于 09-21 11:24 ?2170次閱讀

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

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

    放大器增益調(diào)節(jié)有哪些優(yōu)缺點

    放大器增益調(diào)節(jié)的優(yōu)缺點是多方面的,這些方面涉及到放大器的性能、應用、設計以及實際使用中的挑戰(zhàn)。
    的頭像 發(fā)表于 08-16 17:14 ?1867次閱讀

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

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