[英]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.