define 和 typedef 区别

2017-03-09  本文已影响147人  学而不思则罔思而不学则殆

typedef

For Example

typedef int INTEGER;  
INTEGER a,b;   // 以后就可用INTEGER来代替int作整型变量的类型

用typedef定义数组、指针、结构等类型将带来很大的方便,不仅使程序书写简单而且使意义更为明确,因而增强了可读性。例如:

typedef int a[10];//表示a是整型数组类型,数组长度为10。 
a s1,s2;//完全等效于:int s1[10],s2[10] ; 

同理 typedef void (*p)(void) 表示p是一种指向void型的指针类型!

#define

#define int INTEGER  

表示在源程序中的所在int将会被 INTEGER 原样代替. 程序中有int a,b ;则在编译前将被替换为INTEGER a,b;

区别

#define 是 C 中定义的语法, typedef 是 C++ 中定义的语法, 二者在 C++ 中可以通用, 但 #define 成了预编译指令, typedef 当成语句处理. typedef 和 define 都可以用来给对象取一个别名, 但是俩者却有很大的不同, 有以下几点

俩点关键区别

写个代码
上一篇 下一篇

猜你喜欢

热点阅读