首页 > 代码库 > typedef 和 define的区别

typedef 和 define的区别

类型取别名,还可以定义常量、变量、编译开关

 

都知道两个在某些情况下是相同的

  但是define是在预编译时就会处理掉,进行简单的宏替换,不管正不正确都替换掉,末尾没有分号,有分号连分号也一起替换了。

而typedef则是在已经定义的类型中进行别名的定义。

 

typedef有作用域,define只要是在定义之后,均可以使用 

	typedef不仅可以定义系统自带的类型,还可以定义用户自定义的类型结构,define的用途在于定义类型取别名,还可以定义常量、变量、编译开关
	经典问题:
	const pint p ;//p不可更改,但p指向的内容可更改
const PINT p ;//p可更改,但是p指向的内容不可更改。

pint是一种指针类型 const pint p 就是把指针给锁住了 p不可更改
而const PINT p 锁的是指针p所指的对象。