Jialong's Blog

Do things I love, and seek happiness.

0%

结构

1.建立结构变量

struct book {
    char title[MAXTITL];
    char author[MAXAUTL];
    float value;
}
  • 该结构描述了由两个字符数组和一个float类型变量组成的结构。

2.定义结构变量

struct book library;

  • 把library声明为一个使用book结构类型的结构变量。

  • 所以struct book 相当于过去的int、double等类型。

    struct book {
        char title[MAXTITL];
        char author[MAXAUTL];
        float value;
    } library;

    该程序为上面声明的完整版。

    struct { //无结构标记
        char title[MAXTITL];
        char author[MAXAUTL];
        float value;
    } library;

    声明结构和定义结构可以一步完成,如上所示。

3.初始化结构

4.访问结构成员(点运算符)

5.结构初始化器

6.结构数组

struct book library[MAXBKS];

7.指向结构的指针

struct guy * him;

  • 指针可以指向任何现有的guy类型如barney、fellow[0](一个结构数组的一项即为一个结构变量)。

him = &barney or him = &fellow[0];

8.用指针访问成员

him == &barney,那么him->income即是barney.income.

同时,*him即为指针指向的结构类型。所以,

barney.income == (*him).income == him->income

9.向函数传递结构的成员、地址、结构本身

10.其他特性:

  • 使用指针传递信息(作为函数参数):是使用原始结构进行计算的。
  • 使用结构作为函数参数:是使用副本进行计算。