1.结构标记声明
结构标记是用于标识某种特定结构de名字。下面的例子声明了名为part的结构标记:
struct part { int number; char name[NAME_LEN + 1]; int on_hand; };
一旦创建了标记part,就可以用它来声明变量了:struct part part1,part2; 但是,不能通过漏掉单词struct来缩写这个声明。因为part不是类型名。
顺便说一句,结构标记的声明可以和结构变量的声明合并在一起:
struct part { int number; char name[NAME_LEN + 1]; int on_hand; }part1,part2;
2.结构类型的定义
除了声明结构标记,还可以用typedef来定义真是的类型名。例如。可按照如下方式定义名为Part的类型:
typedef struct { int number; char name[NAME_LEN + 1]; int on_hand; }Part;
注意:Part的名字必须出现在定义的末尾,而不是在单词struct的后面。可以像内置类型那样使用Part。例如,可以用它声明变量:Part part1,part2 因为类型Part是typedef的名字,所以不允许书写struct Part。
3.typedef定义结构体数组类型
#define MAXSIZE 1000 typedef struct { int data; int cur; }Component,StaticLinkList[MAXSIZE];
这里StaticLinkList就是结构体数组类型,StaticLinkList s就相当于struct StaticLinkList s[MAXSIZE]。