类型定义typedef
typedef与宏定义功能类似,
但是宏的定义define是专注于变量、函数、表达式的替换;
类型定义typedef专注于类型比如,int、char、struct node等替换。
typedef int Length;
就可以用Length表示int类型。
更进一步:
(1)对于结构类型
struct node
{
int count;
char *s;
};
typedef struct node Node;
就可以用Node表示这样一个结构类型。
typedef struct node *pNode;
就可以用pNode表示这样一个指向该结构类型的指针。
也可以写成
typedef struct node
{
int count;
char *s
}Node,*pNode;
(2)对于自引用类型。
比如
struct tnode
{
char *word;
int count;
struct tnode *left;
struct tnode *right;
};
typedef struct tnode *Treeptr;
typedef struct tnode Treenode;
如果想写在一起;
typedef struct tnode
{
char *word;
int count;
struct tnode *left;
struct tnode *right;
}Treenode, *Treeptr;
最后,typedef类型定义 函数语法
typedf int (*PFI)(char *,char *);
该语义为定义类型PFI为指向函数的指针,该函数有两个char *形参,返回类型为int;