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

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

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

3天內不再提示

底層解析C指針(一)

CHANBAEK ? 來源:博客園-LSWen ? 作者:博客園-LSWen ? 2023-02-15 14:47 ? 次閱讀

指針是C語言中的精髓部分,同樣也是C語言的難點所在,下面從最底層來分析C指針。

首先先放節論,這樣可能會節省部分人的閱讀時間。

對于一級指針:

poYBAGPsf2WAZ0amAAB-Mt8035c089.png

對于二級指針:

poYBAGPsf2WAFb0BAACmObcSN3E546.png

同理我們有:

n級指針

pYYBAGPsf2WAfhFjAACRuL9Vzm8513.png

需要注意的是,上面的所有指針都需要初始化,如果看懂了上面的圖,也就知道為什么必須初始化的原因了,其實指針實質上是不存在的,編譯器會將其全部替換為地址,正因為如此,導致很多初學者被各種符號暈頭轉向,如同普通變量一樣,指針也是一種變量,說到底,變量其實也不存在,在編譯器編譯的過程中,所有的變量會被替換掉,真正有用的只是變量的值, 如果想詳細了解此類容,讀者可以看編譯原理這本書。

下面我們來驗證上面的結論

poYBAGPsf2WANRfCAAAViDS9VMk169.png

上面我采用了直接強制轉換的方式來分配地址,這個并不是每次執行都會成功,原因是強行分配的地址很可能恰好被使用或者是內存碎片再或者沒有進行字節對齊,這些都會導致強行分配地址時失敗,因此可以多進行測試,下面得到輸出。

poYBAGPsf2WADoitAAAQtFZnoFY977.png

現在無法知道,為了直觀,我們直接打開Debug調試,同時設置斷點,現在我們打開Memory dump,如圖所示

pYYBAGPsf2WAV0udAAAfYS9uSWw751.png

x86結構的內存結構為大端模式,低字節放到高地址。

此時我們輸入0x60fef2,點擊"GO",可以看到內存中的數據如下圖所示:

pYYBAGPsf2WAM1j_AAAlhJEhr7o681.png

可以看到內存地址為0x60fef2處的數據為5

然后輸入0x60fefc點擊"GO",可以看到內存中的數據如下圖所示:

pYYBAGPsf2WAKRFAAAAlPNUripA667.png

可以看到內存地址為0x60fefc處的數據為0x60fef2

可以看到這個完全符合上面的節論,

需要說明的是,我們寫程序時雖然使用了 p, &p, *p這三個符號,但是計算機編譯過程中只有兩個有用的數據

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

    關注

    8

    文章

    3037

    瀏覽量

    74143
  • C語言
    +關注

    關注

    180

    文章

    7608

    瀏覽量

    137119
  • 指針
    +關注

    關注

    1

    文章

    480

    瀏覽量

    70582
  • C指針
    +關注

    關注

    0

    文章

    10

    瀏覽量

    6417
收藏 人收藏

    評論

    相關推薦

    C語言指針詳細解析

    可以對數據本身,也可以對存儲數據的變量地址進行操作。 指針個占據存儲空間的實體在這段空間起始位置的相對距離值。在C/C++語言中,
    發表于 09-14 10:03

    C指針詳解

    底層的軟件打交道。這個時候,指針便體現出它獨特的魅力。指針的知識很多,有本經典的書叫《C
    發表于 12-29 07:20

    C語言指針電子教程

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

    C指針習題答案配C指針

    C指針習題答案配C指針
    發表于 09-07 14:29 ?6次下載
    <b class='flag-5'>C</b>和<b class='flag-5'>指針</b>習題答案配<b class='flag-5'>C</b>和<b class='flag-5'>指針</b>

    C語言指針解析

    指針的概念 指針個特殊的變量,它里面存儲的數值被解釋成為內存里的個地址。要搞清
    發表于 11-02 11:38 ?2次下載

    c語言函數指針定義,指針函數和函數指針的區別

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

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

    C語言中其它的知識都學得可以,唯獨指針搞不懂。如果是這樣,我可以很負責的告訴你,對于這門編程語言,你等于是沒學。所以學好指針對于初學者是非常重要的。或許你會覺得它有點抽象,但是當你徹底理解了
    的頭像 發表于 01-09 15:12 ?4807次閱讀

    從最底層的內存存儲空間開始帶你了解C語言指針

    、前言 二、變量與指針的本質 三、指針的幾個相關概念 四、指向不同數據類型的指針 五、總結 、前言 如果問
    的頭像 發表于 02-02 10:40 ?2443次閱讀
    從最<b class='flag-5'>底層</b>的內存存儲空間開始帶你了解<b class='flag-5'>C</b>語言<b class='flag-5'>指針</b>

    C語言-指針定義與使用

    指針在很多書本上都是當做重點來介紹,作為C語言的靈魂,項目里指針無處不在。 這篇文章介紹指針的基本用法。
    的頭像 發表于 08-14 10:02 ?1363次閱讀

    C語言指針詳細解析

    可以對數據本身,也可以對存儲數據的變量地址進行操作。 指針個占據存儲空間的實體在這段空間起始位置的相對距離值。在C/C++語言中,
    的頭像 發表于 11-14 16:53 ?2236次閱讀
    <b class='flag-5'>C</b>語言<b class='flag-5'>指針</b>詳細<b class='flag-5'>解析</b>

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

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

    底層解析C指針(二)

    篇主要討論了C指針的本質,但并沒有解釋指針的類型問題,這次我們重點來討論指針的類型與指針內存
    的頭像 發表于 02-15 14:48 ?718次閱讀
    <b class='flag-5'>底層</b><b class='flag-5'>解析</b><b class='flag-5'>C</b><b class='flag-5'>指針</b>(二)

    詳解C語言指針底層基本原理

    說到指針,估計還是有很多小伙伴都還是云里霧里的,有點“知其然,而不知其所以然”。但是,不得不說,學了指針C語言才能算是入門了。指針C語言
    的頭像 發表于 04-06 10:43 ?1283次閱讀

    C++智能指針底層實現原理

    C++智能指針的頭文件: #include 1. shared_ptr: 智能指針從本質上來說是個模板類,用類實現對指針對象的管理。 te
    的頭像 發表于 11-09 14:32 ?765次閱讀
    <b class='flag-5'>C</b>++智能<b class='flag-5'>指針</b>的<b class='flag-5'>底層</b>實現原理

    C語言指針學習筆記

    本文從底層內存分析,徹底讓讀者明白C語言指針的本質。
    的頭像 發表于 11-05 17:40 ?257次閱讀
    <b class='flag-5'>C</b>語言<b class='flag-5'>指針</b>學習筆記
    主站蜘蛛池模板: 一区二区免费视频| 天天看天天爽| 综合久久99| 国产吧在线| 欧美一级特黄aaa大片| 亚洲精品黄色| 亚洲a网| 97精品久久天干天天蜜| 天天色天天操天天射| 我不卡午夜| 波多野结衣在线观看一区二区三区| 欧美成人精品一区二三区在线观看| 亚洲a影院| 中国女人a毛片免费全部播放| 种子搜索在线| 五月网址| 亚洲精品久久久久久婷婷| 兔费看全黄三级| 亚洲aaaa级特黄毛片| 特级黄视频| 午夜影院操| 日韩欧美中文在线| 午夜免费看片| 日韩免费网站| 久久大伊人| 精品香港经典三级在线看| 国产日本三级在线播放线观看 | 国产午夜a理论毛片在线影院| 日日干日日爽| 天天黄色| 5060精品国产福利午夜| 东北美女野外bbwbbw免费| 国产小视频在线免费| 91大神在线看| 一区二区三区在线看| 亚洲一本高清| 亚洲高清国产一线久久| 欧美三级一区二区| 久久青草视频| 国产色司机在线视频免费观看| 国产手机免费视频|