五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:C語言的 goto 語句,為什么老師反復(fù)強調(diào)不能用?

2020-09-07 22:35 作者:C語言編程__Plus  | 我要投稿

C語言中相對比較冷門的知識關(guān)鍵字goto!


goto關(guān)鍵字基礎(chǔ)知識

關(guān)鍵字goto表示無條件跳轉(zhuǎn)的意思,類似匯編中的jump指令,在C語言中的使用格式是:goto label,表示跳轉(zhuǎn)到label的位置,并且我們的label一般都寫在語句的開頭,寫成label:的形式。如下面程序案例:


使用注意點:

goto label;后面有分號。

goto只能在函數(shù)內(nèi)部無條件跳轉(zhuǎn),不能從一個函數(shù)跳轉(zhuǎn)到另外一個函數(shù)。

label:的標識在使用goto語句的前后均可,不遵循先定義后使用。

label的作用域在函數(shù)內(nèi)部,不同函數(shù)之間可以定義相同的label。

goto關(guān)鍵字的爭議

對于goto的使用C語言界算是爭議不斷,并且大部分大學(xué)C語言老師在講到到goto這關(guān)鍵字的時候一般都會叫大家慎用goto關(guān)鍵字。既然goto語句C語言標準中定義了,有句話說得好,"存在即合理"。大家不濫用即可。goto關(guān)鍵字非常的靈活,其實goto本身的功能是非常簡單的,就是一個跳轉(zhuǎn)到所定義的標簽label位置,靈活的地,例如下代碼:


尤其是嵌套層數(shù)更多的情況下,使用goto做為跳轉(zhuǎn)更為簡單,不信你看:

所以goto語句還是一個非常有潛力的關(guān)鍵字,對于設(shè)計巧妙高效的算法會非常有用!所以個人覺得只要對goto語句的使用加以管束為我們開發(fā)服務(wù),這未嘗不是一件好事。


Linux中的goto

讀過Linux相關(guān)代碼的小伙伴會發(fā)現(xiàn)goto語句的使用無處不在,這里我復(fù)制部分代碼來欣賞一下,更多的妙用大家可以自行閱讀Linux內(nèi)核源碼。


goto不能釋放內(nèi)存,但是利用goto語句可以使程序嚴謹,你仔細看看上面的例子,用了goto,不論程序走什么分支,分配了的內(nèi)存都得到了釋放。如果直接return,那么前面分配的空間就在沒釋放就退出程序了。

尾言

存在即是合理,慎用不是禁用!

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!

分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

學(xué)習(xí)C/C++編程知識,提升C/C++編程能力,歡迎關(guān)注UP一起來成長!
另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~

C/C++編程筆記:C語言的 goto 語句,為什么老師反復(fù)強調(diào)不能用?的評論 (共 條)

分享到微博請遵守國家法律
水富县| 贵港市| 天台县| 高碑店市| 义马市| 郧西县| 盖州市| 东安县| 霍山县| 东兴市| 凤阳县| 买车| 卢氏县| 汉沽区| 杭州市| 石泉县| 郎溪县| 札达县| 衢州市| 资兴市| 化德县| 治多县| 太湖县| 罗定市| 同仁县| 朝阳市| 平利县| 图木舒克市| 宁河县| 贵溪市| 宜都市| 大田县| 花垣县| 通海县| 大邑县| 山东省| 罗源县| 阳东县| 昭平县| 宿迁市| 延津县|