博客园复制的,侵权就删
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)为复杂的声明定义一个新的简单的别名。
简单来说,用typedef自定义一个结构体,少写依次struct 但多写typedef呀