define是直接进行内容替换
typedef是起别名
#define一般用来定义常量名
typedef一般是起一个其他的名字用
两个其实差不多。#define写的代码在编译的时候加载,不占用内存,typedef会占用内存的
#define 符号定义
typedef 类型别名,专门定义数据类型的,可以支持一些特定的C特性。比如对typedef定义的类型执行sizeof().对结构体、枚举类型的定义书写也更加方便。
typedef 常用作数据类型别名的定义
define 也可以达成这个效果
只是define 容易出错
举个例子:define intp int *
intp a,b
本意想定义两个整型指针,结果a是int 指针,b只是个int型
typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,隐藏笨拙且难以理解的语法
define是用来宏定义的,它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。