设计程序时,最重要的步骤之一是选择表示数据的方法。在许多情况下,简单变量甚至是数组还不够。为此,C提供了结构变量(structure variable)提高你表示数据的能力,它能让你创造新的形式。
建立结构声明
结构声明(structure declaration)描述了一个结构的组织布局。声明类似下面这样:
struct students
{
char name[20];
int age;
float score;
};
该声明描述了一个由一个字符数组、一个int型变量和一个float型变量组成的结构。该声明并未创建实际的数据对象,只是描述了该对象由什么组成。
关键字sturct表明跟在其后的是一个结构,后面是一个可选的标记,稍后程序中可以使用该标记引用该结构。例如,我们在后面程序中可以这样声明:
struct students stu1;
这里把stu1声明为一个使用students结构布局的变量。
在结构声明中,用一对花括号括起来的是结构成员列表。每个成员都用自己的声明来描述。成员可以是任意一种c的数据类型,甚至可以是其他结构。
定义结构变量
结构体类型在编译时并不为其分配空间,不能对其进行赋值或运算。若想要分配储存空间并参与运算,还必须使用结构体变量。结构体变量也必须遵循先定义在引用的原则。结构体变量定义有三种方法:
(1)先定义结构体类型,在定义变量,类型和变量分开定义。
struct students //定义结构体类型
{
char name[20];
int age;
float sco