91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

goto的優(yōu)缺點

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

掃碼添加小助手

加入工程師交流群

很多書籍都會把“”goto“”當(dāng)成反面教材使用,認為如果使用不當(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

    文章

    2953

    瀏覽量

    70342

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    三防漆稀釋劑替代品對比:優(yōu)缺點+環(huán)保選擇 |鉻銳特實業(yè)

    鉻銳特實業(yè)|東莞廠家|三防漆稀釋劑能用什么替代?本文對比原裝稀釋劑、環(huán)保無苯型、醋酸丁酯、PMA等常見替代品的優(yōu)缺點、成本與性能影響,附行業(yè)數(shù)據(jù)和選擇建議,助您兼顧品質(zhì)與成本。
    的頭像 發(fā)表于 02-26 00:12 ?114次閱讀
    三防漆稀釋劑替代品對比:<b class='flag-5'>優(yōu)缺點</b>+環(huán)保選擇 |鉻銳特實業(yè)

    對比分析電能質(zhì)量在線監(jiān)測裝置支持的斷點續(xù)傳文件傳輸協(xié)議的優(yōu)缺點

    優(yōu)缺點對比分析: 一、各協(xié)議優(yōu)缺點逐一拆解 1. FTP(文件傳輸協(xié)議) 優(yōu)點 斷點續(xù)傳機制成熟 :依托REST命令可精準定位字節(jié)偏移量,支持大文件分塊續(xù)傳,且內(nèi)置 CRC 校驗保障數(shù)據(jù)完整性,是裝置的基礎(chǔ)標(biāo)配功能,適配性強。 傳輸效率高 :無加密運算損耗,傳輸速率
    的頭像 發(fā)表于 12-05 17:49 ?3444次閱讀
    對比分析電能質(zhì)量在線監(jiān)測裝置支持的斷點續(xù)傳文件傳輸協(xié)議的<b class='flag-5'>優(yōu)缺點</b>

    UV三防漆的優(yōu)缺點大起底!是效率神器還是局限陷阱?

    ?UV三防漆以其“秒干”的黑科技聞名于電子制造圈,但它真的是完美無缺的嗎?任何材料的選擇都是一場權(quán)衡。本文將徹底剖析UV三防漆的優(yōu)缺點,幫助您精準判斷:它究竟是提升您生產(chǎn)效率的利器,還是可能帶來麻煩的“嬌氣”選手?
    的頭像 發(fā)表于 11-15 17:22 ?481次閱讀
    UV三防漆的<b class='flag-5'>優(yōu)缺點</b>大起底!是效率神器還是局限陷阱?

    工業(yè)級SLC SD NAND存儲的優(yōu)缺點

    工業(yè)級 SLC?存儲卡與存儲芯片的優(yōu)缺點: ? 核心特點與適用場景 ? ? 可靠性與壽命 ?:SLC(單層單元)每單元僅存1 bit,典型P/E?擦寫壽命約 10?萬次,遠高于 MLC/TLC,適合
    的頭像 發(fā)表于 10-17 11:09 ?776次閱讀
    工業(yè)級SLC SD NAND存儲的<b class='flag-5'>優(yōu)缺點</b>

    無線局域網(wǎng)的優(yōu)缺點和使用要點

    近年來,無線局域網(wǎng) 已普遍應(yīng)用于我們生活的方方面面。本文將介紹無線局域網(wǎng)的基礎(chǔ)知識、優(yōu)缺點、與 Wi-Fi 及有線局域網(wǎng)的區(qū)別,以及有效使用的要點。全球領(lǐng)先的短距離無線模塊供應(yīng)商 KAGA FEI
    的頭像 發(fā)表于 08-14 16:04 ?2994次閱讀
    無線局域網(wǎng)的<b class='flag-5'>優(yōu)缺點</b>和使用要點

    超級電容對比鋰電池的優(yōu)缺點

    本文探討了超級電容和鋰電池在儲能領(lǐng)域的優(yōu)缺點。超級電容以高能量密度著稱,但充電速度較慢;鋰電池則具有快充和壽命長的優(yōu)勢,但成本較高。在新能源汽車和電網(wǎng)調(diào)頻等高頻次應(yīng)用中,兩者可以互補。
    的頭像 發(fā)表于 06-30 09:37 ?2669次閱讀
    超級電容對比鋰電池的<b class='flag-5'>優(yōu)缺點</b>

    商業(yè)云手機核心優(yōu)缺點分析

    商業(yè)云手機核心優(yōu)缺點分析,綜合技術(shù)性能、成本效率及場景適配性等多維度對比: 核心優(yōu)勢? 成本革命? 硬件零投入?:免除實體手機采購(旗艦機均價6000元),企業(yè)百臺規(guī)??墒?0萬+ CAPEX
    的頭像 發(fā)表于 06-16 08:11 ?1055次閱讀
    商業(yè)云手機核心<b class='flag-5'>優(yōu)缺點</b>分析

    橋式整流電路的原理、優(yōu)缺點及應(yīng)用場景分析

    控制系統(tǒng)等領(lǐng)域占據(jù)重要地位。本文將從技術(shù)原理出發(fā),深入剖析橋式整流電路的優(yōu)缺點,并結(jié)合實際應(yīng)用場景探討其設(shè)計優(yōu)化方向。 一、橋式整流電路的基本原理 橋式整流電路(Bridge Rectifier)由4個二極管按菱形結(jié)構(gòu)連接而成。當(dāng)輸入交
    的頭像 發(fā)表于 05-05 15:00 ?4893次閱讀
    橋式整流電路的原理、<b class='flag-5'>優(yōu)缺點</b>及應(yīng)用場景分析

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

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

    3D打印耗材種類有哪些?各有什么優(yōu)缺點?

    這篇文章將為你詳細介紹3D打印耗材的基礎(chǔ)知識,幫助你了解這些材料的特性、優(yōu)缺點以及它們適合的應(yīng)用場景。
    的頭像 發(fā)表于 04-29 09:40 ?5.4w次閱讀
    3D打印耗材種類有哪些?各有什么<b class='flag-5'>優(yōu)缺點</b>?

    傳感器的模擬輸出和數(shù)字輸出的優(yōu)缺點分析

    在現(xiàn)代自動化控制和監(jiān)測系統(tǒng)中,傳感器的輸出方式主要分為模擬輸出和數(shù)字輸出兩種,它們各自具有獨特的優(yōu)缺點,在不同的應(yīng)用場景中有著不同的適用性。深入了解這兩種輸出方式的特點,對于正確選擇和使用傳感器
    的頭像 發(fā)表于 04-17 18:28 ?1412次閱讀
    傳感器的模擬輸出和數(shù)字輸出的<b class='flag-5'>優(yōu)缺點</b>分析

    CMOS,Bipolar,F(xiàn)ET這三種工藝的優(yōu)缺點是什么?

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

    功率放大器的類型及優(yōu)缺點是什么

    優(yōu)缺點。 A類功率放大器:A類功率放大器是最簡單的一種類型,其輸出信號與輸入信號完全相同,沒有任何失真。這使得A類功率放大器在音頻放大等對信號質(zhì)量要求較高的場合中得到廣泛應(yīng)用。然而,A類功率放大器的效率較低,
    的頭像 發(fā)表于 03-24 11:00 ?1148次閱讀
    功率放大器的類型及<b class='flag-5'>優(yōu)缺點</b>是什么

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

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

    液壓伺服系統(tǒng)工作原理液及優(yōu)缺點

    液壓伺服系統(tǒng)是一種通過調(diào)節(jié)液壓元件的流量和壓力來實現(xiàn)對負載的位置、速度和力的精確控制的系統(tǒng)。以下是對其工作原理及優(yōu)缺點的詳細分析: 一、工作原理 液壓伺服系統(tǒng)的工作原理主要分為兩個階段:感應(yīng)階段
    的頭像 發(fā)表于 03-16 16:43 ?1636次閱讀
    液壓伺服系統(tǒng)工作原理液及<b class='flag-5'>優(yōu)缺點</b>