曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

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

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

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

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

單片機(jī)與嵌入式 ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式 ? 2023-02-09 17:20 ? 次閱讀

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

1 懸空指針

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

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

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

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

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

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

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

2野指針

上面我們講的“懸空指針”是指向被釋放內(nèi)存的指針,“野指針”則是不確定其具體指向的指針?!耙爸羔槨弊畛?lái)自于未初始化的指針,例如下面這段C語(yǔ)言代碼:

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

因?yàn)椤耙爸羔槨笨赡苤赶蛉我鈨?nèi)存段,因此它可能會(huì)損壞正常的數(shù)據(jù),也有可能引發(fā)其他未知錯(cuò)誤,所以C語(yǔ)言中的“野指針”危害性甚至比“懸空指針”還要嚴(yán)重。在實(shí)際的C語(yǔ)言程序開(kāi)發(fā)中,定義指針時(shí),一般都要盡量避免“野指針”的出現(xiàn)(賦初值):

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

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

審核編輯:湯梓紅

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

    關(guān)注

    8

    文章

    3103

    瀏覽量

    74917
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7628

    瀏覽量

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

    關(guān)注

    1

    文章

    484

    瀏覽量

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

    關(guān)注

    30

    文章

    4883

    瀏覽量

    70100

原文標(biāo)題:C語(yǔ)言中的“懸空指針”和“野指針”是什么意思?

文章出處:【微信號(hào):?jiǎn)纹瑱C(jī)與嵌入式,微信公眾號(hào):?jiǎn)纹瑱C(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    C語(yǔ)言中懸空指針指針

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

    C語(yǔ)言中void指針的基本認(rèn)識(shí)及典型應(yīng)用

    C語(yǔ)言中,*類型就是指針類型,比如 int *p,double *q,雖然是不一樣的指針,但是大小卻一樣sizeof(p) == sizeof(q),因?yàn)樗鼈兌际峭环N類型*類型的。
    發(fā)表于 02-01 09:26 ?1293次閱讀

    C語(yǔ)言中多級(jí)指針的概念和使用方法

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

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

    C語(yǔ)言中,指針是一種非常強(qiáng)大和靈活的工具,但同時(shí)也容易引發(fā)一些問(wèn)題,其中包括空指針指針。
    發(fā)表于 08-16 16:18 ?1843次閱讀

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

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

    C語(yǔ)言指針電子教程

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

    C語(yǔ)言中指針的介紹非常詳細(xì)

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

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

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

    基于C語(yǔ)言中指針的基本用法解析

    C語(yǔ)言中其它的知識(shí)都學(xué)得可以,唯獨(dú)指針搞不懂。如果是這樣,我可以很負(fù)責(zé)的告訴你,對(duì)于這門(mén)編程語(yǔ)言,你等于是沒(méi)學(xué)。所以學(xué)好指針對(duì)于初學(xué)者是非
    的頭像 發(fā)表于 01-09 15:12 ?4938次閱讀

    簡(jiǎn)述C語(yǔ)言中什么是懸空指針指針

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

    C語(yǔ)言中指針是怎么來(lái)的?

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

    C語(yǔ)言初識(shí)指針

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

    C語(yǔ)言中指針(重點(diǎn))超詳細(xì)

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

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

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

    簡(jiǎn)述C語(yǔ)言中指針重點(diǎn)

    C語(yǔ)言中一個(gè)函數(shù)可以返回一個(gè)整型值、字符值、實(shí)型值等,也可以返回指針型的數(shù)據(jù),即地址,其概念與以前類似,只是返回的值的類型是指針類型。
    的頭像 發(fā)表于 03-10 15:28 ?754次閱讀