NoteDeep
关键字
typedef

世界上第一门高级语言:Fortran——IBM

typedef基本功能

为变量起别名
typedef 是对类型的封装
typedef int INTEGER, *PTRINT; //int 和 int *
PTRINT p1, p2; //p1 和 p2 都是 int * 类型
#define PTRINT int *
PTRINT p1, p2; //p1 是int * 类型, p2 是 int 类型
typedef 与结构体
typedef struct Data
{
int year;
int month;
int day;
} DATA, *PDATA;

简化一些比较复杂的类型声明
int (*ptr)[3]; //指向拥有三个元素的数组
typedef int (*PTR_TO_ARRAY)[3];

int (*fun)(void); //函数指针
typedef int (*PTR_TO_FUN)(void);

int *(*array[3])(int); //一个有三个元素,每个元素都是函数指针
typedef int *(*PTR_TO_FUN)(int);
PTR_TO_FUN array[3];

void (*funA(int, void (*funB)(int)))(int);//一个返回值为(void (* )(int)), 参数为(int, void (*funB)(int))的函数指针
typedef void(*PTR_TO_FUN)(int);
PTR_TO_FUN (funA)(int, PTR_TO_FUN);


评论列表

    typedef基本功能