typedef

338 阅读1分钟

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];

QQ图片20210511151200.png

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;

}