typedef
C 语言提供了 typedef 关键字,可以使用它来为类型取一个新的名字,即自定义类型。
下面的实例为单字节数字定义了一个术语 BYTE(也可以使用小写字母 byte):
typedef unsigned char BYTE;
这样定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,来声明定义变量:
BYTE b1, b2;
也可以使用 typedef 来为用户自定义的数据类型取一个新的名字。例如,可以对结构体使用 typedef 来定义一个新的数据类型名字,然后使用这个新的数据类型来直接定义结构变量:
typedef struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
} Book;//结构体类型定义
int main(){
Book book;//结构体类型的变量声明
return 0;
}
typedef vs #define
#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似。不同之处在于:
- typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名。例如:
#define PI 3.14159265
- typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。
来源:CSDN
作者:爱编程的喵汪人
链接:https://blog.csdn.net/qq_42415326/article/details/104027443