簡體   English   中英

typedef 結構中的指針

[英]Pointer in typedef struct

我遇到了 C 語言的堆棧教程,我似乎無法理解*Stack指針指向的內容,也無法理解*next指針。 我只想快速解釋一下這兩個指針的實際指向。

typedef struct StackElement
    {
        int value;
        struct StackElement *next;
    }StackElement, *Stack;

兩者都沒有指向您給出的示例中的任何內容。 這段代碼只是結構類型本身的聲明。 您可以將 typedef 分解為更簡單的形式:

struct StackElement
{
    int value;
    struct StackElement *next;
};

typedef struct StackElement StackElement;
typedef struct StackElement *Stack;

也就是說,有一個結構本身的聲明,其中包含next字段,該字段將由該堆棧的實現代碼使用。 該字段在填寫后將指向另一個struct StackElement結構。

typedef部分只是方便命名 - StackElement可以用來代替struct StackElement ,並且Stack可以用來代替struct StackElement *

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM