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.
typedef与define的区别
最新推荐文章于 2024-06-01 21:14:40 发布