typedef struct {
ElemType data;
int cur;
} compoent, SLinkList[MAXSIZE];
struct { ... } 定義一個匿名結構體,包含兩個成員:data(型別 ElemType)與 cur(int)。typedef 為此結構體起別名:compoent → 代表**單個結構體型別**(等同 struct { ... })。SLinkList → 代表**陣列型別**,其為 MAXSIZE 個 compoent 組成的陣列。struct _Node {
ElemType data;
int cur;
};
typedef struct _Node compoent;
typedef compoent SLinkList[MAXSIZE];
compoent node; // 單個節點
node.data = ...;
node.cur = 1;
SLinkList list; // 靜態鏈表陣列(MAXSIZE 個節點)
list[0].cur = -1; // 頭節點游標
list[1].data = value; // 數據節點
此模式常用於教學實現「靜態鏈表」:用陣列模擬鏈表,cur 存儲下一節點的陣列下標,0 索引作頭節點,MAXSIZE-1 作備用鏈表頭。優點:無動態記憶體分配,適合嵌入式或考試環境。
MAXSIZE 必須為常數宏或 const int。using 或直接 struct Node { ... }; using SLinkList = std::array<Node, MAXSIZE>; 更現代。