要点总结
1.建立结构声明
struct book {
char title[MAXTITL];
char author[MAXAUTL];
float value;
};
- 该声明描述了一个由两个字符数组和一个float 类型变量组成的结构。该声明并未创建实际的对象,只描述了该对象由什么组成。
- 关键字struct,表明跟在其后的是一个结构,后面一个可选的标记(book),(如果此结构要在别处引用,则须写标记名)
- 在结构声明中,用一对花括号括起来的是结构成员列表。每个成员都用自己的声明来描述。例如,title部分是一个含有MAXTITL个元素的char类型数组。成员可以是任意一种C的数据结构,甚至是其他结构。右花括号后面的分号是声明所必须的,表示结构布局定义结束。
- 结构声明放置位置可以在所有函数外部,也可以在一个函数定义的内部。置于内部,标记就只限于该函数内部使用;置于外部,该声明之后的所有函数都能使用它。
2. 定义结构变量
- 结构有两层含义。一层是结构布局;另一层是创建结构变量。
- 例如
- struct book library; 创建一个了一个结构变量library,该变量的结构布局是book。
- 编译器执行这行代码便创建了一个结构变量library。编译器使用book模板为该变量分配空间:一个内含MAXTITL个元素的char数组、一个内含MAXAUTL个元素的char数组和一个float类型的变量。这些存储空间都与一个名为library结合在一起。
- 在结构变量的声明中, struct book所起的作用相当于一般声明中的int 或float。
- 结构声明的过程和定义结构变量的过程可以合成一步。即直接在结构声明的右花括号后跟变量名。