C/C++ typedef用法详解
一、四个用途 1.用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。 比如: char* pa, pb; //这多数不符合我们的意图,它只声明了一个指向字符变量 //和一个字符变量; 以下则可行: typedef char* PCHAR; //一般用大写 PCHAR pa, pb; //可行,同时声明了啷个指向字符变量的指针 虽然: char *pa, *pb; 也可行,但相对于来说,没用用typedef的形式直观,尤其是需要大量指针的地方,typedef的方式更加省事。 2.用途二: 在旧的C的代码中,帮助struct。 以前的代码中,声明struct新对象是,必须带上struct,即形式为:struct 结构名 对象名,如: 1 struct tagPOINT1 2 { 3 int x; 4 int y; 5 }; 6 struct tagPOINT1 p1; 而在C++中,则可以直接写:结构名 对象名,即: tagPOINT1 p1; 估计某人觉得经常多写一个struct太麻烦了,于是就发明了: 1 typedef struct tagPOINT 2 { 3 int x; 4 int y; 5 }POINT; 6 POINT p1; // 这样就比原来的方式少写了一个struct,比较省事,尤其在大量使用的时候 或许,在C++中