C保留字 - typedef

C编程语言提供了一个typedef关键字,你可以用他为类型提供一个别名。下面示例为unsigned char类型创建别名BYTE

typedef unsigned char BYTE;

如上定义之后,就可以像使用unsigned char一样来使用BYTE了,如下...

BYTE  b1, b2;


习惯上,使用大写字母来提醒用户这是个类型别名,当然你也可以如下这样使用小写字母:

typedef unsigned char byte;


你还可以使用typedef为自定义类型创建别名。比如,在创建结构类型时,直接指定一个别名,如下这样:

#include <stdio.h>
#include <string.h>
 
typedef struct Books {
   char title[50];
   char author[50];
   char subject[100];
   int book_id;
} Book;
 
int main( ) {

   Book book;
 
   strcpy( book.title, "C Programming");
   strcpy( book.author, "Nuha Ali"); 
   strcpy( book.subject, "C Programming Tutorial");
   book.book_id = 6495407;
 
   printf( "Book title : %s\n", book.title);
   printf( "Book author : %s\n", book.author);
   printf( "Book subject : %s\n", book.subject);
   printf( "Book book_id : %d\n", book.book_id);

   return 0;
}

对上面代码编译并执行,会得到如下结果:

Book  title : C Programming
Book  author : Nuha Ali
Book  subject : C Programming Tutorial
Book  book_id : 6495407

typedef 对比 #define

#define是一个C预编译指令,和typedef一样也可以为很多类型指定别名,但有如下区别: 

  • typedef仅限于为类型创建别名,但#define还可以为值创建别名,比如你可以为1创建别名one。

  • typedef interpretation is performed by the compiler whereas #define statements are processed by the pre-processor.

  • typedef由编译器解释,但#define语句在编译之前,要先由预处理器来处理。

下面演示了如何使用 #define

#include <stdio.h>
 
#define TRUE  1
#define FALSE 0
 
int main( ) {
   printf( "Value of TRUE : %d\n", TRUE);
   printf( "Value of FALSE : %d\n", FALSE);

   return 0;
}

对上面代码编译并执行会得到如下结果:

Value of TRUE : 1
Value of FALSE : 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值