typedef 的作用呢就是方便但并不是你想的这种方便而是使用的时候方便比如你有个变量是用来标志的你可以定义typedef int FLAGFLAG a;你一看a是个flag类型就知道是用来标志的了主要是用来看了一目了然的。其实C++里面很多都是这么用的如BOOL类型!你上面说的第一个和第二个是有冲突的!第1个和第3个没冲突正如:typedef int FLAG你也可以吧int定义如下typedef int BOOL所以1和3没冲突但是如果你typedef int FLAGtypedef char FLAG那你说编译的时候FLAG到底是int还是char类型?