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]. */ |