chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

goto的優(yōu)缺點

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

掃碼添加小助手

加入工程師交流群

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

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);...

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

-END-

來源 | 二進制人生

原文標題:goto語句對與錯

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

責任編輯:haq

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

    關注

    96

    文章

    2953

    瀏覽量

    69234

原文標題:goto語句對與錯

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    CMOS,Bipolar,FET這三種工藝的優(yōu)缺點是什么?

    在我用photodiode工具選型I/V放大電路的時候,系統(tǒng)給我推薦了AD8655用于I/V,此芯片為CMOS工藝 但是查閱資料很多都是用FET工藝的芯片,所以請教下用于光電信號放大轉換(主要考慮信噪比和帶寬)一般我們用哪種工藝的芯片, CMOS,Bipolar,FET這三種工藝的優(yōu)缺點是什么?
    發(fā)表于 03-25 06:23

    壓接連接器使用裸銅線的優(yōu)缺點分析?

    壓接連接器使用裸銅線是一種高效、可靠的電氣連接方式,廣泛應用于電力、通信和工業(yè)領域。需要我們正確看待它的優(yōu)缺點,高效使用。
    的頭像 發(fā)表于 03-18 11:01 ?721次閱讀

    淺談汽車系統(tǒng)電壓優(yōu)缺點分析

    以下是12V、24V、48V系統(tǒng)的簡單介紹,包括技術特點、優(yōu)缺點及典型應用場景。汽車電氣系統(tǒng)的發(fā)展隨著車輛電子設備的增多和對能效要求的提高,電壓等級也在逐步提升,從傳統(tǒng)的12V電
    的頭像 發(fā)表于 03-06 08:04 ?1181次閱讀
    淺談汽車系統(tǒng)電壓<b class='flag-5'>優(yōu)缺點</b>分析

    惠斯通電橋的優(yōu)缺點分析

    惠斯通電橋作為一種經典的電阻測量工具,具有其獨特的優(yōu)缺點。以下是對惠斯通電橋優(yōu)缺點的詳細分析: 優(yōu)點 高精度 : 惠斯通電橋通過比較電壓差來精確測量電阻值,對于微小的電阻變化也能迅速作出反應,因此
    的頭像 發(fā)表于 02-13 15:26 ?1644次閱讀

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

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

    GoTo否認與Grab合并傳聞

    印尼網約車巨頭GoTo于當地時間2月4日正式提交文件,明確否認同競爭對手Grab的合并傳聞。該公司強調,在未來12個月內,除實施股票回購計劃外,并無任何重大行動計劃。 此前,市場上有消息稱Grab
    的頭像 發(fā)表于 02-06 10:08 ?756次閱讀

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

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

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

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

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

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

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

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

    開環(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)定、不間斷電力供應的重要設備。根據設計和功能的不同,UPS可以分為幾種類型,每種類型都有其獨特的優(yōu)缺點。以下是一些常見的UPS類型及其優(yōu)缺點的概述: 在線式
    的頭像 發(fā)表于 10-28 10:45 ?2304次閱讀

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

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

    請問Pre-Filter PBTL和Post-Filter PBTL相比有什么優(yōu)缺點

    Pre-Filter PBTL和Post-Filter PBTL 相比有什么優(yōu)缺點
    發(fā)表于 10-18 06:54