1.常规变量类型定义
例如:typedef unsigned char uchar
描述:uchar等价于unsigned char类型定义; uchar c声明等于unsigned char c声明
2.数组类型定义
例如: typedef int array[2]
描述: array等价于 int [2]定义; array a声明等价于int a[2]声明
扩展: typedef int array[M][N];
描述: array等价于 int [M][N]定义; array a声明等价于int a[M][N]声明
3.指针类型定义
(链表实现树)
例如: typedef int *pointer
描述: pointer等价于 int *定义;pointer p声明等价于int *a声明
例如: typedef int *pointer[M];
描述: pointer等价于 int *[M]定义;pointer p声明等价于int *a[M]声明
4.函数声明
例如: typedef int func(void)
描述1: func f声明等价于 int f(void)声明,用于文件的函数声明
描述2: func *pf声明等价于 int (*pf)(void)声明,用于函数指针的生命,见下一条
5.函数指针
例如: typedef int (*func)(void)
描述: func等价于int (*)(void)类型;func pf等价于int (*pf)(void)声明,pf是一个函数指针变量