typedef与define的区别

本文详细解析了C++预处理器中的#define与typedef的区别,包括它们的处理时机、语法特点和使用场景,并通过实例展示了在特定情况下的等效应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

16:30 2010/4/15
一、不同:

1.#define是一个编译预处理命令——宏定义,而tydedef不是;

2.#define是在编译之前处理,而typedef是在编译中处理;

3.#define只是做简单的字符替换,而typedef不是;

4.语法:

   #define 被替换的宏名 替换成的字符
 
   typedef 已有数据类型名 新数据类型名;
二、相同;

有时两种方法实现的效果是一样的。

 
例:

1.

#define COUNT int

 

  main()

{

  COUNT i=1;

  printf(“%d”,i);

}

 
     2.

       typedef int COUNT ;

       main()

{

  COUNT i=1;

  printf(“%d”,i);

}

 
3.

  #define MAX(x) x+x*6

 
 main()

{

   printf(“%d”,MAX(5+1));

}

 
此例中使用宏定义,只是简单替换,将MAX(5+1)替换为5+1+5+1*6=17.

如果是MAX(5),则替换为5+5*6=35.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值