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

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

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

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

C語言中的懸空指針和野指針是什么意思?

單片機與嵌入式 ? 來源:單片機與嵌入式 ? 2023-02-09 17:20 ? 次閱讀

提起C語言大部分開發(fā)者很自然就會想到指針二字,沒錯,作為C的核心和靈魂,它的地位咱們就不再贅述了,今天我們想跟大家講的是指針中的兩個特有名詞:“懸空指針”和“野指針”。

1 懸空指針

C語言中的指針可以指向一塊內(nèi)存,如果這塊內(nèi)存稍后被操作系統(tǒng)回收(被釋放),但是指針仍然指向這塊內(nèi)存,那么,此時該指針就是“懸空指針”。下面這段C語言代碼是一個例子,請看:

b32f37aa-a795-11ed-bfe3-dac502259ad0.png

C語言中的“懸空指針”會引發(fā)不可預(yù)知的錯誤,而且這種錯誤一旦發(fā)生,很難定位。這是因為在 free(p) 之后,p 指針仍然指向之前分配的內(nèi)存,如果這塊內(nèi)存暫時可以被程序訪問并且不會造成沖突,那么之后使用 p 并不會引發(fā)錯誤。

最難調(diào)試的 bug 總是不能輕易復(fù)現(xiàn)的 bug,對不?

所以在實際的C語言程序開發(fā)中,為了避免出現(xiàn)“懸空指針”引發(fā)不可預(yù)知的錯誤,在釋放內(nèi)存之后,常常會將指針 p 賦值為 NULL:

b33fbbf2-a795-11ed-bfe3-dac502259ad0.png

這么做的好處是一旦再次使用被釋放的指針 p,就會立刻引發(fā)“段錯誤”,程序員也就能立刻知道應(yīng)該修改C語言代碼了。

2野指針

上面我們講的“懸空指針”是指向被釋放內(nèi)存的指針,“野指針”則是不確定其具體指向的指針。“野指針”最常來自于未初始化的指針,例如下面這段C語言代碼:

b34a48ec-a795-11ed-bfe3-dac502259ad0.png

因為“野指針”可能指向任意內(nèi)存段,因此它可能會損壞正常的數(shù)據(jù),也有可能引發(fā)其他未知錯誤,所以C語言中的“野指針”危害性甚至比“懸空指針”還要嚴重。在實際的C語言程序開發(fā)中,定義指針時,一般都要盡量避免“野指針”的出現(xiàn)(賦初值):

b356a218-a795-11ed-bfe3-dac502259ad0.png

這兩點內(nèi)容,是C語言比較重要的內(nèi)容,希望大家在編碼的時候一定要注意。

審核編輯:湯梓紅

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

    關(guān)注

    8

    文章

    3109

    瀏覽量

    75001
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7630

    瀏覽量

    140453
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    484

    瀏覽量

    71017
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4887

    瀏覽量

    70268

原文標題:C語言中的“懸空指針”和“野指針”是什么意思?

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

收藏 人收藏

    評論

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

    C語言中懸空指針指針

    提起C語言,大部分開發(fā)者很自然就會想到指針二字。沒錯,作為C的核心和靈魂,它的地位咱們就不再贅述了。
    發(fā)表于 07-20 11:58 ?1154次閱讀

    C語言中void指針的基本認識及典型應(yīng)用

    C語言中,*類型就是指針類型,比如 int *p,double *q,雖然是不一樣的指針,但是大小卻一樣sizeof(p) == sizeof(q),因為它們都是同一種類型*類型的。
    發(fā)表于 02-01 09:26 ?1327次閱讀

    C語言中多級指針的概念和使用方法

    多級指針C語言中是一種特殊的指針類型,它可以指向其他指針指針
    發(fā)表于 08-16 16:16 ?1462次閱讀

    C語言中指針指針的概念及產(chǎn)生原因

    C語言中指針是一種非常強大和靈活的工具,但同時也容易引發(fā)一些問題,其中包括空指針指針
    發(fā)表于 08-16 16:18 ?1893次閱讀

    C語言中指針是什么?如何規(guī)避指針

    C語言中指針是什么?有哪幾種類型?指針有何作用?如何規(guī)避指針
    發(fā)表于 02-25 06:47

    C語言指針電子教程

    本資料是一份不錯的關(guān)于C語言指針的電子教程,希望對大家有所幫助... 指針簡介 指針C
    發(fā)表于 07-30 16:00 ?77次下載

    C語言中指針的介紹非常詳細

    C語言中指針的介紹非常詳細 C語言中指針的介紹非常詳細
    發(fā)表于 12-25 10:39 ?57次下載

    c語言函數(shù)指針定義,指針函數(shù)和函數(shù)指針的區(qū)別

     往往,我們一提到指針函數(shù)和函數(shù)指針的時候,就有很多人弄不懂。下面就由小編詳細為大家介紹C語言中函數(shù)指針
    發(fā)表于 11-16 15:18 ?3846次閱讀

    基于C語言中指針的基本用法解析

    C語言中其它的知識都學得可以,唯獨指針搞不懂。如果是這樣,我可以很負責的告訴你,對于這門編程語言,你等于是沒學。所以學好指針對于初學者是非
    的頭像 發(fā)表于 01-09 15:12 ?4968次閱讀

    簡述C語言中什么是懸空指針指針

    提起C語言大部分開發(fā)者很自然就會想到指針二字,沒錯,作為C的核心和靈魂,它的地位咱們就不再贅述了,今天我們想跟大家講的是指針中的兩個特有名詞
    的頭像 發(fā)表于 03-18 11:18 ?2611次閱讀

    C語言中指針是怎么來的?

    )、malloc函數(shù)申請堆內(nèi)存返回的地址(但未使用free釋放,是在堆空間動態(tài)申請) 需要注意的是,指針不是NULL指針,通常NULL指針可以使用if語句來判斷,但是
    的頭像 發(fā)表于 06-01 16:43 ?2741次閱讀

    C語言初識指針

    目錄1. 指針是什么?2. 指針指針類型3.指針3.1
    發(fā)表于 12-31 19:57 ?26次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>初識<b class='flag-5'>指針</b>

    C語言中指針(重點)超詳細

    C語言中指針1、指針是什么2、指針指針類型2.1、指針
    發(fā)表于 01-13 14:10 ?11次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的<b class='flag-5'>指針</b>(重點)超詳細

    C語言中什么是指針數(shù)組

    C語言中一個數(shù)組,若其元素均為指針類型數(shù)據(jù),稱為指針數(shù)組,也就是說,指針數(shù)組中的每一個元素都存放一個地址,相當于一個
    的頭像 發(fā)表于 03-10 15:26 ?2164次閱讀

    簡述C語言中指針重點

    C語言中一個函數(shù)可以返回一個整型值、字符值、實型值等,也可以返回指針型的數(shù)據(jù),即地址,其概念與以前類似,只是返回的值的類型是指針類型。
    的頭像 發(fā)表于 03-10 15:28 ?790次閱讀
    主站蜘蛛池模板: 午夜小片 | 天天干天操 | 四虎影院精品在线观看 | 最色网站| 狠狠色丁香久久婷婷综 | 起碰免费视频 | 2019天天干夜夜操 | 国产精品久久久久久久久 | 国产女人视频免费观看 | 免费一级欧美片在线观免看 | 热re66久久精品国产99热 | 大学生一级特黄的免费大片视频 | 久久综合九色欧美综合狠狠 | 91福利专区 | 清纯漂亮小美女准备啪啪 | 香淫| 中日韩一级片 | 日韩在线视频一区二区三区 | 色多多污网站在线观看 | 插插插天天 | 精品伊人久久大香线蕉网站 | 尤物久久99热国产综合 | 久久婷婷影院 | 天天骑天天干 | 国产九色在线 | 日本不卡在线观看 | 猛操女人 | 伊人久久大香线蕉综合电影 | 4455亚洲| 欧美成人精品一级高清片 | 91成人免费观看 | 欧美成人全部免费观看1314色 | 日本黄页网站在线观看 | 免费看黄色录像 | 欧美日本一区二区 | 四虎精品影院4hutv四虎 | 男人天堂网在线视频 | 国产免费人成在线看视频 | 狠狠干狠狠操视频 | 在线观看视频高清视频 | 久草资源免费 |