女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

goto的優缺點

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

很多書籍都會把“”goto“”當成反面教材使用,認為如果使用不當,將會造成很多意想不到的問題。但goto作為C語言的一部分,存在即合理,goto有它的缺點,也有它的優點。 缺點:
很容易把邏輯弄亂,增加理解難度,goto是可以實現無條件跳轉的,一旦跳轉,就忽略很前面很多代碼,特別是在一些邏輯復雜的地方使用,會很容易出問題。所以goto能不用就不用,特別對于新手,盡量避諱。
優點:
方便處理異常情況,特別是內存等系統資源的釋放。很多大型項目,開源項目,包括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://統一的出錯處理 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

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

    關注

    96

    文章

    2950

    瀏覽量

    67808

原文標題:goto語句對與錯

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    硅谷物理服務器的優缺點分析

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

    香港主機托管和國內主機的優缺點比較

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

    東京站群服務器有哪些優缺點

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

    光譜傳感器的優缺點

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

    不同類型adc的優缺點分析

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

    開環和閉環功放的區別,優缺點,應用場合有什么不同?

    問下TI的工程師,開環和閉環功放的區別,優缺點,應用場合有什么不同?請解釋下,謝謝!
    發表于 11-04 06:33

    不同類型UPS電源的優缺點

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

    FPGA與ASIC的優缺點比較

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

    雪崩晶體管有哪些優缺點

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

    運放恒流源有哪些優缺點

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

    GaN HEMT有哪些優缺點

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

    AI大模型與小模型的優缺點

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

    同步整流的優缺點有哪些

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

    nbiot和lora的優缺點是什么?

    nbiot和lora的優缺點
    發表于 06-04 06:37