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

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

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

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

goto的優(yōu)缺點

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

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

來源 | 二進制人生

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

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

責(zé)任編輯:haq

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

    關(guān)注

    96

    文章

    2946

    瀏覽量

    66831

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    同步整流是一種在數(shù)字電路設(shè)計中常用的技術(shù),它通過將電路中的所有信號同步到一個共同的時鐘信號上,來實現(xiàn)信號之間的同步。這種技術(shù)在數(shù)字電路設(shè)計中具有重要的作用,但同時也存在一些優(yōu)缺點。以下是對同步整流
    的頭像 發(fā)表于 07-09 09:09 ?1166次閱讀

    nbiot和lora的優(yōu)缺點是什么?

    nbiot和lora的優(yōu)缺點
    發(fā)表于 06-04 06:37

    請問bldc幾種驅(qū)動方式優(yōu)缺點各是什么?

    從網(wǎng)上看,bldc有上管pwm,下管恒通;上管恒通,下管pwm;還有on-pwm,pwm-on ,還有雙極性驅(qū)動;還有一些是未導(dǎo)通相也有pwm等,請問stm8s官方庫采用的是哪種驅(qū)動方式,各種驅(qū)動有什么優(yōu)缺點,謝謝!
    發(fā)表于 04-23 06:12

    日本大帶寬服務(wù)器優(yōu)缺點分析

    日本大帶寬服務(wù)器是很多用戶的選擇,那么日本大帶寬服務(wù)器優(yōu)缺點都是什么?Rak部落小編為您整理發(fā)布日本大帶寬服務(wù)器優(yōu)缺點分析。
    的頭像 發(fā)表于 03-22 10:08 ?486次閱讀

    儲能元件的分類和優(yōu)缺點

    常見的PCS儲能用的是電池,有磷酸鐵鋰,鋰電池等材料,但是也有用電容儲能的,比如用無極性大電容和超級法拉電容的。 1、請問用電池儲能和電容儲能那種效率更高?兩者各有什么優(yōu)缺點? 2、在儲能過程中,儲
    發(fā)表于 03-11 23:03

    數(shù)組和鏈表在內(nèi)存中的區(qū)別 數(shù)組和鏈表的優(yōu)缺點

    數(shù)組和鏈表在內(nèi)存中的區(qū)別 數(shù)組和鏈表的優(yōu)缺點? 數(shù)組和鏈表是常見的數(shù)據(jù)結(jié)構(gòu),用于組織和存儲數(shù)據(jù)。它們在內(nèi)存中的存儲方式以及優(yōu)缺點方面存在一些顯著的差異。本文將詳細(xì)探討這些差異以及它們的優(yōu)缺點。 1.
    的頭像 發(fā)表于 02-21 11:30 ?1082次閱讀

    帶你探索穩(wěn)壓器的優(yōu)缺點和選擇技巧

    TOREX特瑞仕(KOYUELEC光與電子):帶你探索穩(wěn)壓器的優(yōu)缺點和選擇技巧
    的頭像 發(fā)表于 01-24 10:35 ?922次閱讀
    帶你探索穩(wěn)壓器的<b class='flag-5'>優(yōu)缺點</b>和選擇技巧
    主站蜘蛛池模板: 亚洲第一香蕉视频| 天天干夜夜爱| 久久人人精品| 激情五月综合综合久久69| 久久久综合色| 国产精品你懂得| 一本大道加勒比久久| 色视频免费在线| jinv在线视频| se97se成人亚洲网站在线观看| 亚洲精品资源| 91福利专区| 四虎黄色片| 你懂得在线网址| 国产三级在线看| 午夜影吧| 国产精品福利一区二区亚瑟| 欧美成人性色| 免费在线欧美| www色多多| 色天天综合色天天碰| 超级香蕉97视频在线观看一区| 亚洲一区免费在线| 91亚洲国产成人久久精品网站| 视频三区| 特级毛片免费视频播放| 免费公开视频人人人人人人人| 成人亚洲精品| 人人天天夜夜| 欧美精品久久天天躁| 失禁h啪肉尿出来高h| abc欧美成人影院| 免看一级a毛片一片成人不卡| 四只虎免费永久观看| 久久网色| 天天成人| 看片福利| 51xtv成人影院| 黄大片18满岁水多| 日本人亚洲人成人| 97色婷婷成人综合在线观看|