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]。