这种用法,是在定义结构体变量时定义了一种指针变量吗?
不,不对,是在typedef的配合下为struct CTNode *起一个别名叫ChildPtr。以后声明结构体指针变量时,写struct CTNode *p;和写ChildPtr p;就是同一个意思了。前面的CTNode也不是结构体变量,而是结构体struct CTNode的别名,以后就可以用CTNode声明结构体变量了,省去了写struct的麻烦……如果最前面没有typedef,那CTNode就是struct CTNode型变量,ChildPtr就是struct CTNode *型指针。