像这种定义形式 typedef int int_array[4];
int_array 其实是int的别名,而int_array[4]就是定义的形式啦,去看看《C程序设计》谭浩强版相关的部分就会发现:typedef还可以命名一个新的类型代表:指针类型、指向函数的指针类型等等
例如:
命名一个新的类型代表:指针类型
1 typedef char * String; //声明String为字符指针类型 2 String p,s[10]; //定义p为字符指针变量,s为字符指针数组
命名一个新的类型代表:指向函数的指针类型
1 typedef int (* Pointer)(); //声明Pointer为指向函数的指针类型,该函数返回整型值 2 Pointer p1,p2; //p1,p2为指向Pointer类型的指针变量
2013-04-09补充:
这一点是很重要的感悟,完整地说:像这种定义形式 “typedef int int_array[4];”中,int int_array[4]是一个形式,其中唯一的变量名(int_array)就是typedef名字,形式是什么样的,这个名字就代表什么类型,例如上面的两段代码中,String就是char *类型,而Pointer就是int (* )();类型