typedef的使用
注意与define的区别
define只是简单的替换,在预处理时候完成
typedef是给类型起了一个别名,在编译时处理
typedef int* pint; #define pint2 int* pint x, y;//x,y:int* pint2 x, y;//x:int*, y:int
简单类型
typedef struct{ char id[50]; char name[50]; float grade; }Student;//建立学生结构的别名,方便引用
其余
数组类型和函数类型的typedef有时比较容易弄错,不容易理解,举两个例子
typedef char data[100];//数组类型,其中data的类型为char[100] typedef void (*FUNC)(int x);//函数类型,其中FUNC为函数指针,指向参数为int,返回值为空的函数