typedef struct node {
int data;
struct node *left, *right;
} BiNode, *BiTree;
struct node:結構體標籤(tag),用於結構體內部自我引用(如 struct node *left)。建議保留,便於後續聲明變量 struct node n; 或遞歸定義。BiNode:typedef 為結構體類型起的別名,等價於 struct node。聲明變量時可直接用 BiNode n;,訪問成員用 n.data。*BiTree:指針類型別名,等價於 struct node*。聲明指針變量 BiTree root; 即 struct node* root;,訪問成員用 root->data。標籤用於定義內部,類型別名用於聲明變量,指針別名用於構建鏈式結構。
BiTree root = (BiTree)malloc(sizeof(BiNode)); // 分配節點
root->data = 10;
root->left = root->right = NULL;