#include<stdio.h>
void main()
{
#define T int //在预处理阶段文本替换
typedef int T1;//typedef后面需要加分号结束,但是#define 不需要
unsigned T a = 10;//正确,单纯的文本替换相当于unsignede int
unsigned T1 b = 100;//错误,实际上相当于int unsigned
typedef char* PSTR;//编译阶段进行类型检查
int mystrcmp(const PSTR, const PSTR);
/*
typedef是定义了一种类型可以使内置类型也可以使自定义类型的新别名,不同于宏,它不是简单的字符串替换
const PSTR实际上相当于const char*吗?不是的,它实际上相当于char* const。
原因在于const给予了整个指针本身以常量性,也就是形成了常量指针char* const。
简单来说,记住当const、unsigned typedef一起出现时,typedef不会是简单的字符串替换就行。
*/
}
typedef和#define的区别
