typedef是替一个对象取一个别名,以此增强程序的可读性。
1 定义一种数据类型的别名
typedef int INT; //定义int类型的一个别名INT。注意:末尾的分号
typedef char* pStr;
2 定义结构体的别名(很久远的事情了,现在C++已经不存在这个问题)
struct sPositon //结构体定义
{
int x;
int y;
};
struct sPositon p; //定义变量
如上所示,定义变量时还是加struct关键字,比较繁琐。
typedef struct sPosition //定义结构体
{
int x;
int y;
}POINT;
POINT p; //定义结构体变量
如上所示,省去了struct关键字,但是这个在C++中已经不需要了。
3 定义与平台无关的类型
如某一平台支持int类型,但不支持long类型。则可以使用typedef定义一个支持类型的别名,程序中使用该别名声明变量。
这样跨平台时,我们只使用极小的代价。标准库中广泛使用。
4 为复杂的声明定义一个简单的别名
例如函数指针:typedef int (*SUM) (int, int)。SUM是定义的别名,表示的是一个指向函数的指针,该函数有两个int类型的参数,