C语言中typedef关键字的作用

C 语言提供了 typedef 关键字,可以使用它来为类型取一个新的名字。
下面的实例为单字节类型定义了一个术语 BYTE:

typedef unsigned char BYTE;

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

BYTE  b1, b2;

typedef 常给结构体类型命名

#include <stdio.h>
#include <string.h>

typedef struct Book {
    char *name;
    int id;
} Book;

int main() {
    Book book; // Book 命名了我们的类型
    book.name = "C教程";
    book.id = 12345;
    printf("书标题 : %s\n", book.name);
    printf("书ID : %d\n", book.id);
    return 0;
}
书标题 : C教程
书ID : 12345

typedef 与 #define 的区别

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

  • typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。
  • typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。
#include <stdio.h>

#define TRUE  1
#define FALSE 0

int main() {
    printf("TRUE 的值: %d\n", TRUE);
    printf("FALSE 的值: %d\n", FALSE);
    return 0;
}
TRUE 的值: 1
FALSE 的值: 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值