1.typedef基本的功能就是给数据类型起别名
例如
typedef WCHAR TCHAR,*PTCHAR;
typedef wchar_t WCHAR;
typedef unsigned short wchar_t;
结构体typedef typedef struct Date { int year; int month; int day; }DATE,*PDATE; 需要用到结构用DATE来代替,需要用到指针用 *PDATE来代替。
2.简化一些比较复杂的类型别名
int (*ptr)[3]; 是一个数组指针
typedef int (*PTR_TO_ARRAY)[3];
int (*fun)(void);fun后面跟的是小括号说明跟的是函数,[]表示的是指向的是数组,所以这是一个函数指针。 它指向一个参数为void返回值是int的函数。
typedef int (*PTR_TO_FUN)(void);
说明是指向一个函数的指针
#include <stdio.h>
typedef int (*PTR_TO_FUN)(void);
int fun(void) { return 520; }
int main(void)
{ PTR_TO_FUN ptr_to_fun =&fun;
printf("%d\n",(*ptr_to_fun)());
return 0;
}