“typedef名字与形式”的理解

像这种定义形式 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 (* )();类型

原文地址:https://www.cnblogs.com/tingshuixuan2012/p/3010618.html