typedef的用法
typedef struct node{
char data;
struct node *ptr;
}NODE;
typedef struct{ //這個struct後面沒接東西!?
NODE *top;
}STACK;
================================
typedef是自訂型別的一種指令,用法如下:
typedef A B;
上面可敘述成:「定義B等於A」,
跟#define的用法很類似。
#define A B
然而#define只是把全部的程式碼裡的A換成B而已,
但是typedef是直接定義B是什麼東西,
因此typedef的A可以有很多變化。
例如:
typedef struct node{
...................
}list;
list a, b, c;
在上式中,A=struct node{...},B=list,
因此我們可以用list來宣告abc三個變數。
另一種宣告struct的簡便方式如下:
typedef struct{
.................
}list;
在上式中,A=struct {...},B=list,
其實就是定義了list的結構,
並將這種結構定義為一種型別。
char data;
struct node *ptr;
}NODE;
typedef struct{ //這個struct後面沒接東西!?
NODE *top;
}STACK;
================================
typedef是自訂型別的一種指令,用法如下:
typedef A B;
上面可敘述成:「定義B等於A」,
跟#define的用法很類似。
#define A B
然而#define只是把全部的程式碼裡的A換成B而已,
但是typedef是直接定義B是什麼東西,
因此typedef的A可以有很多變化。
例如:
typedef struct node{
...................
}list;
list a, b, c;
在上式中,A=struct node{...},B=list,
因此我們可以用list來宣告abc三個變數。
另一種宣告struct的簡便方式如下:
typedef struct{
.................
}list;
在上式中,A=struct {...},B=list,
其實就是定義了list的結構,
並將這種結構定義為一種型別。