typedef和define

作者: admin 分类: C语言 发布时间: 2018-09-07 14:13

typedef:定义一种类型的别名,即为类型取一个新的名字,例如

typedef unsigned char BYTE;  //为单字节数字定义了一个术语 BYTE
typedef int TNI; //为int类型定义一个叫tni的名字

在这个类型定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,例如:

BYTE  b1, b2;
TNI a,b; 

使用typedef定义结构体,例如

typedef char DataType; //假设结点的数据域类型为字符
typedef struct node{ //结点类型定义
    DataType data; //结点的数据域
    struct node *next; //结点的指针域
}ListNode;  //将struct node 取名为 ListNode
typedef ListNode *LinkList;  //将struct ListNode * 类型取名为 LinkList

typedef vs #define 区别

#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点不同:

  • typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。

  • typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注