我是靠谱客的博主 神勇大船,最近开发中收集的这篇文章主要介绍关键字struct的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一 struct简介:定义一个结构类型。

二 用法:

         1 .用法一:定义一个简单结构:

        (1)形式:

                   形式一:struct book

                                        {

                                                  char title[maxtitl];

                                                  char author[maxautl];

                                                  float value;

                                          };                       //创建结构模版

                                    struct book library;    //声明结构变量


                    形式二:struct book

                                        {

                                                  char title[maxtitl];

                                                  char author[maxautl];

                                                  float value;

                                          }library;             //创建结构并声明变量


                   形式三:struct

                                        {

                                                  char title[maxtitl];

                                                  char author[maxautl];

                                                  float value;

                                          }library;             //创建结构并声明变量,但未使用标记符,若要多次使用,

                                                                      //要加一个标记符或者使用typedef

                   注意:上述中的maxtitl(书名的最大长度)、maxautl(作者名字的最大长度)已经被宏定义

      (2).功能:

                在表示数据时,使用简单的变量或者数组等数据类型不够的情况下,可使用结构struct来进一步增强c表示数据的能力,并且struct可以创建新的数据形式。

      (3).说明:

                 访问结构成员用运算浮点“.”,例如访问上述结构中的成员title:gets(libraty.title)

      2 .用法二:定义一个结构数组

         (1)形式:

                  在创建一个结构模版的前提下,在主函数中定义一个结构数组,定义的形式(以上述形式一创建的模版为例): struct book library[maxbks]  //声明结构数组

         (2)功能:

                           如果要描述多个同种结构时,定义一个数组结构可避免多次声明结构变量的麻烦。

         (3)说明:

                          a. 上述中的maxbks(书本的数量)已经被宏定义。

                          b. 标识数组结构成员用运算符“.”,例如表示上述结构中的成员title:

                                         library[0].title  //第一个数组(在这指第一本书)元素的title成员

                                         library[0].title[0] //第一个数组(在这指第一本书)元素的title成员的第一个字符

                                        library[1].title[0] //第二个数组(在这指第二本书)元素的title成员的第一个字符

       3 .用法三:结构指针

                       顾名思义,结构指针就是指向结构的指针。

         (1)形式:

                  在创建一个结构的前提下来声明一个结构指针,声明结构指针的形式(还是以上述形式一为例):

                                       struct book *bp  //bp是一个指向任何book结果的指针

         (2)功能:

                  可使用指针来访问结构成员。

         (3)说明:

                  a.声明一个结构指针不是建立一个新的结构,而是意味着bp现在可以指向任何现有的book类型的结构。

                  例如:library是一个book类型的结构,那么就可以:

                             bp = &library   //bp就是一个指向结构library的指针。

                            (注意,和数组不一样,一个结构的名字不是该结构的地址)

                             library[maxbks]是一个结构数组,那么就可以:

                             bp = &library[maxbks]   //bp就是一个指向结构数组library[maxbks]的指针

                           (bp加一,那么就是加上整个结构所占的内存空间大小,即由library[0]变为library[1])

                  b. 使用指针访问成员:如果him是一个指向library的指针,那么访问结构成员title的形式如下:

                              him->title   或者(*him).title //(括弧不能省,“.”比“*”的优先级高)

                         (注意:以下三种访问结构的表达式是等价的:book.title= him->title=(*him).title )


    




最后

以上就是神勇大船为你收集整理的关键字struct的用法的全部内容,希望文章能够帮你解决关键字struct的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部