在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。
typedef最简单的用法如下:
typedef int INTEGER;
typedef int REAL;
于是,以下两行等价:
int i, j; float a, b;
INTEGER i, j; REAL a, b;
但是,typedef有些形式不是很容易记,但又很有用处,下面归一下类:
1. 结构体
typedef struct
{
int month;
int day;
int year;
}DATA;
DATA birthday;
DATA *p;
2. 数组
typedef int NUM[100];
NUM n;
3. 指针
typedef char * STRING;
STRING p, s[10];
4. 函数指针
typedef int(* POINTER)();
POINTER p1, p2;
如果在class中使用的话方式如下:
-
class CA
-
{
-
public :
-
char lcFun ( int a ) { return ; }
-
} ;
-
CA ca ;
-
typedef char (CA :: *PTRFUN ) ( int ) ;
-
PTRFUN pFun ;
-
void main ( )
-
{
-
pFun = CA :: lcFun ;
-
ca. ( *pFun ) ( 2 ) ;
-
}
-
可见,typedef在定义时先按照变量的方法写出定义体,然后将变量名换成新类型名,最后在前面加上typedef即可。