typedef與#define有些相似:
(1)例如
char* pa,pb; //聲明一個指向字符變量的指針,和一個字符變量
typedef char* PCHAR;
PCHAR pa,pb; //定義兩個字符型指針;
(2)用來少寫一個struct
在c語言中用struct聲明新的對象時,必須帶上struct,其形式為 struct 結構名對象名,:
struct tagPOINT1
{
int x;
int y;
};
struct tagPOINT1 p1;
但是在c++中則可以直接寫,結構名對象名,即,tagPOINT p1;
但是在加上typedef之后,如下:
typedef struct tagPOINT
{
int x;
int y;
}POINT;
POINT p1; //這樣就比原來的方式少寫一個struct,比較省事。
(3)為復雜的聲明定義一個新的簡單的別名。