2016-12-27 71 views
-2

http://i64.tinypic.com/34ffxx2.jpg結構成員上的指針

請看看該圖像。 (上面給出的鏈接)

在該書中,聲明結構變量'n1'的'下一個'成員將指向結構變量'n2'的'值'成員。

1 :)它不會指向完整的'n2'結構,因爲'n2'是一個結構變量,'next'指針指向'n2',而不是指向其'value'成員。

2 :)另外,據說對於包含具有相同名稱和數據類型的另一個結構的結構來說是完全正確的。那可能怎麼樣?我明白了,我們可以在父結構中擁有儘可能多的結構,但成員如何擁有父結構的數據類型?

+0

1.它說,N1的一個成員將指向N2。它從不說n2的價值成員。 2.它說,它很好地包含'入口'結構的指針。 – surender8388

+0

我無法讀取任何句子,指出'next'指向某個'value'成員。它聲明它指向一個入口結構。這正是你期望的1)。它也沒有告訴任何關於包含另一個相同類型的成員。它是一個_pointer_與結構相同的類型,它有些不同。 – Gerhardh

回答

1

Oups。該是正確的,但你的理解是錯誤的...

  1. n1.next實際上指向n2。它只是碰巧value是結構的第一個成員,以便它位於同一地址作爲整體結構
  2. 什麼說的是,這是很好的結構是,其要素之一到另一個結構相同的類型。但它不能它包含它。這是一個編譯錯誤:

    struct entry { 
        int value; 
        struct entry next; // Ouch, tries to contain self: ERROR! 
    };