typedef与define的区别

来源:互联网 发布:陈江华体测数据 编辑:程序博客网 时间:2024/06/11 18:53

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.

原创粉丝点击