typedef用來定義新的資料型別,通常typedef與結構體的定義配合使用。使用typedef的目的使結構體的表達更加簡練(所以說typedef語句並不是必須使用的)。
定義乙個名字為treenode的結構體型別(現在並沒有定義結構體變數,並不占用記憶體空間):
為結構體起乙個別名node,這時node就等價於struct treenodestruct treenode
;
typedef struct treenode node;
將結構體的定義和typedef語句可以連在一起寫:
使用typedef關鍵字定義結構體型別typedef struct treenode
node;
定義結構體型別的同時定義結構體型別變數
typedef struct student
std;
//std相當於struct studentstruct student
std1,std2;
//定義了student資料型別的結構體和std1
、std2結構體變數
定義乙個名為treenode的結構體,和指向該結構體型別的指標ptrtotreenode(不使用typedef):
使用typedef關鍵字用乙個單詞node代替struct treenode,並定於指向該結構體型別的指標ptrtotreenode:struct treenode
;struct treenode *ptrtotreenode; //定義指標
將結構體的定義和typedef連在一起寫,再次縮短**:struct treenode
;typedef struct treenode node; //用node代替struct treenode
node *ptrtotreenode; //定義指標
還可以繼續縮短**,直接定義了指向結構體型別的指標,但是這種寫法沒有為結構體起乙個別名。typedef struct treenode
node; //定義結構體並用node代替struct treenode
node *ptrtotreenode; //定義指標
typedef struct treenode
*ptrtotreenode; //直接定義指標
typedef關鍵字與結構體,結構體指標
請移步原文 一 使用typedef定義結構體 typedef用來定義新的資料型別,通常typedef與結構體的定義配合使用。使用typedef的目的使結構體的表達更加簡練 所以說typedef語句並不是必須使用的 定義乙個名字為treenode的結構體型別 現在並沒有定義結構體變數,並不占用記憶體空...
typedef關鍵字與結構體 結構體指標的定義
一 使用typedef定義結構體 typedef用來定義新的資料型別,通常typedef與結構體的定義配合使用。使用typedef的目的使結構體的表達更加簡練 所以說typedef語句並不是必須使用的 定義乙個名字為treenode的結構體型別 現在並沒有定義結構體變數,並不占用記憶體空間 stru...
結構體,關鍵字
一.關鍵字 static 修飾全域性靜態變數 作用範圍侷限於它的原始檔,即只有本檔案內的 才可以訪問它,變數名在其他檔案內不可見。修飾區域性靜態變數 侷限於特定函式,但出作用域並不釋放,在函式體內的靜態變數的值也能夠維持。修飾靜態函式 作用範圍僅限於它的原始檔,即只有本檔案內才能夠呼叫,函式名在其他...