当前位置:首页>维修大全>综合>

typedef和 define的区别

typedef和 define的区别

更新时间:2023-09-17 20:24:45

typedef和 define的区别

区别如下:

1、typedef要写成语句的形式,即末尾要加分号(;),而#define是宏定义,末尾没有分号

2、typedef是为已经存在的数据类型起个别名,用这个别名来表示这个数据类型,如:

typedef unsigned int uInt32;

uInt32 a,b,c; //定位了3个无符号整型变量

#define是定义一个宏名来表示跟在其后面的一个字符串或者表达式,它只是作简单的字符替换,在预处理阶段

编译器会将所有的宏名用其后面的字符串或者表达式作替换,而不做任何的运算。如:

#define N 10 //用N来表示常数10

#define MAX(a,b) (a>b?a:b) //用带参数的宏名MAX来表示表达式(a>b?a:b)。

调用的时候:

int a=3,b=4;

MAX(A,B); //等价于(a>b?a:b); 因为它只是将实参传进去,然后做简单的字符替换。

更多栏目