define后面不会加;
typedef后面需要加;
typedef void OSA_VOID ;
#defined OSA_NULL ((OSA_VOID *)0);
typedef OSA_VOID OSA_FUNC (OSA_VOID );//创建一个新类型OSA_FUNC,其返回类型是OSA_VOID,其形参也是OSA_VOID
typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。
具体区别在于:
若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;
若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;
区别就在于使用时,是否可以省去struct这个关键字。