首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C語言樹結構體定義詳解:typedef、結構體標籤與指針別名

     編輯:程式設計疑難解答

代碼原型

typedef struct node {
    int data;
    struct node *left, *right;
} BiNode, *BiTree;

逐項解析

  1. struct node:結構體標籤(tag),用於結構體內部自我引用(如 struct node *left)。建議保留,便於後續聲明變量 struct node n; 或遞歸定義。
  2. BiNode:typedef 為結構體類型起的別名,等價於 struct node。聲明變量時可直接用 BiNode n;,訪問成員用 n.data。
  3. *BiTree:指針類型別名,等價於 struct node*。聲明指針變量 BiTree root; 即 struct node* root;,訪問成員用 root->data。

記憶口訣

標籤用於定義內部,類型別名用於聲明變量,指針別名用於構建鏈式結構。

擴展示例

BiTree root = (BiTree)malloc(sizeof(BiNode)); // 分配節點
root->data = 10;
root->left = root->right = NULL;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved