多級(jí)指針的本質(zhì)及推理過程

  • 多級(jí)指針的作用
如果要保存某個(gè)指針的地址, 你就會(huì)需要用到多級(jí)指針.

例如:

普通變量的地址需要用一級(jí)指針來(lái)保存
一級(jí)指針的地址需要用二級(jí)指針來(lái)保存
二級(jí)指針的地址需要用三級(jí)指針來(lái)保存
三級(jí)指針的地址需要用四級(jí)指針來(lái)保存......

示范代碼:

Line1 int num = 1;
Line2 int *p = &num
Line3 int *p1 = p;
Line4 int **p2 = &p1;
Line5 int ***p3 = &p2;

但是, 在初次接觸多級(jí)指針時(shí), 很多人也許會(huì)感到迷惑:

  1. 指針本身不就可以用來(lái)保存的地址的嗎?
  2. 為什么指針自己的地址卻不能用普通指針(一級(jí)指針)來(lái)保存? 非要用多級(jí)指針?

事實(shí)上, 在編程中, 如果你將一個(gè)二級(jí)指針的地址賦值給一個(gè)普通指針, 程序是不會(huì)報(bào)錯(cuò)的, 只會(huì)報(bào)一個(gè)警告: 警告你二級(jí)指針的地址應(yīng)該賦值給三級(jí)指針.

需要注意的是, 這只是一個(gè)警告, 而不是一個(gè)語(yǔ)法錯(cuò)誤, 那么這說明了什么呢?

說明多級(jí)指針的本質(zhì), 其實(shí)只是C語(yǔ)言中的一個(gè)書寫規(guī)范!



事實(shí)上任何指針都可以保存任何地址(一級(jí)指針也可以保存四級(jí)指針的地址, 四級(jí)指針也可以保存一級(jí)指針的地址).
但這樣寫的話, 閱讀性就會(huì)變得很差! 所以為了保證閱讀性, 就定義了多級(jí)指針這樣的書寫規(guī)范.

屏幕快照 2016-08-25 上午11.51.55.png

很多初學(xué)者在推理多級(jí)指針保存的值的時(shí)候會(huì)繞不出來(lái), 其實(shí)這里面都是有規(guī)律的.

  • 關(guān)于多級(jí)指針的存儲(chǔ)的值的推理過程
    我們還以上面的示范代碼為例:
Line1 int num = 1;
Line2 int *p = &num
Line3 int *p1 = p;
Line4 int **p2 = &p1;
Line5 int ***p3 = &p2;
屏幕快照 2016-08-25 上午11.35.01.png

運(yùn)行示例:

20160511234508848.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 最近真的是忙的不可開交,公司一直給安排任務(wù),連學(xué)習(xí)和寫筆記的時(shí)間都沒有了,落下好幾次課的筆記都沒有寫,所以我...
    Xiho丶閱讀 1,609評(píng)論 1 12
  • C語(yǔ)言指針的總結(jié) 1. 變量 不同類型的變量在內(nèi)存中占據(jù)不同的字節(jié)空間。 內(nèi)存中存儲(chǔ)數(shù)據(jù)的最小基本單位是字節(jié),每一...
    xx_cc閱讀 4,119評(píng)論 11 39
  • 指針入門 ****** 由于pointer存的是i的內(nèi)存地址,多以對(duì)pointer的操作就是對(duì)變量i的操作*...
    往事一塊六毛八閱讀 630評(píng)論 0 1
  • 有點(diǎn)愧疚,這幾個(gè)月荒廢了,也浪費(fèi)了很多時(shí)間。接下來(lái)是我看的關(guān)于核心語(yǔ)法的一些筆記,可能不全也可能有錯(cuò)誤,希望大家可...
    關(guān)情紙尾閱讀 296評(píng)論 0 1
  • 完成畢業(yè)答辯后,心情一直很沉重。一邊是自己認(rèn)為很努力地在完成畢設(shè),一邊是老師直言不諱地“數(shù)落”,還有一邊是作業(yè)的繁...
    Nara07閱讀 350評(píng)論 0 0

友情鏈接更多精彩內(nèi)容