如果某个类型别名指代的是复合类型呢或常量,那么他用到声明语句里就会有意想不到的结果,考虑下面的代码
typedef char *pstring;
const pstring pa = 0;//pa指针是常量不可变,pa指向的对象可以变,
const pstring *pb = 0;//pb指向的对象是一个char,指向的对象不能被改变即,*pb不能被改变
试想如果直接用char*代替pstring,得到const char* cstr = 0
这时cstr指向的对象不能改变,cstr本身可以改变