学习小结,对struct结构深化巩固

来源:互联网 发布:新兵的爆菊经历知乎 编辑:程序博客网 时间:2024/05/07 10:00

之前稍微用到了struct,看了一点基本用法。经过查阅参考书籍,对struct又加深了一些理解。

例程:

#include <stdio.h>

#define MAXTITL  41                     //宏定义,书名最大长度41

#define MAXAUTL 31                    //作者名最长31

struct book                                     //结构模板,标记为book

{

    char title [  MATITL ];

    char author [ MAXAUTL ];

    float value;

};

引用参考书例程,发现结构声明没有创建新的数据对象,而是描述了组成结构模板的元素。以后调用:

struct (关键字)book(该结构的快速标记)library(使用book结构设计的结构变量)

在结构变量的声明中,struct book所起的作用与int相似,例如可以同时定义两个变量,甚至可以定义一个指向该结构的指针:

struct book doyle,pan,* ptbook;

访问结构成员:

使用所定义结构的结构成员时,以例程中的book为例子;book.title,book.author是char型的数组,book.value是一个float型变量。在scanf("%.2f",&book.value);中,.的优先级高于&,其意义等价于scanf("%.2f",&(book.value));

定义结构的指定初始化项目

若只初始化book结构的成员value

struct book surprise = { .value = 10.00};

按顺序任意顺序指定初始化项目

struct book gift = { .value = 10.00,

                             .author = "James",

                             .title = "Rue for the Toad"};

结构和数组相似,初始化后结构各成员获得初始值,但其实际值为最后一次赋的值

struct book gift = { .value = 10.00,

                             .author = "James",

                             .title = "Rue for the Toad",

                             .value = 9.00};




0 0
原创粉丝点击