c++ typedef 类型重定义语句

1
  /*
一般格式:typedef <类型> <标识符1> [,<标识符2>...];
类型为基本类型名,或自定义类型名(如结构体类型名),或是已重定义的类型名;
标识符可做类型说明符或强制类型转换的类型标识符。

例子:
typedef int LENGTH;      //A
typedef char* STRING;    //B
typedef int VEC[50];     //C
typedef struct node {    //D
   char* word;
   int count;
   struct node *left,*right;
}TREENODE,*TREEPTR;
typedef int (*FP)(void); //E

A   LENGTH x;相当于int x;
B   STRING s;相当于char* s;
C   VEC x;相当于int x[50];
D   TREENODE pp;相当于node pp;   TREEPTR p;相当于node* p;
E   FP是指向函数的指针,FP f;相当于int (*f)(void);


重定义类型名的方法步骤:
1、用定义变量的方法写出变量说明;如int (*f)(void);
2、将变量名换成新的类型标识符;如int (*FP)(void);
3、在前面加上typedef;如typedef int (*FP)(void);
4、用新类型标识符定义变量;如FP f1,f2.

注:
根据重定义类型名的方法步骤,在看源代码时,遇到重定义类型变量时,找到相应重定义的地方,
将变量替换标识符然后去掉typedef.
如VEC x;找到 typedef int VEC[50]; 替换VEC即typedef int x[50];去掉typedef即int x[50].
*/
     
posted @ 2012-09-14 16:01  helloweworld  阅读(1487)  评论(0编辑  收藏  举报