• 结构体相关知识


    问题实例:

    录入一份图书目录,包含图书的价格,作者姓名以及书名。(下文以解决该问题的过程来解释结构体相关知识,参考C primer plus_p439)

    1.定义结构体变量

    struct book {   /*先定义结构体类型,再定义结构体变量*/                      struct book {/*在定义结构体类型的同时定义结构体变量*/
        char title [N];                                                         char title [N];
        char author [N];                                                        char author [N];
        float value;                                                            float value;
    };                                                                       }library;
    struct book library;
    

    访问结构体成员是用.运算符 ,例:library.value

    2.定义结构体数组

    struct book {   /*先定义结构体类型,再定义结构体变量*/                      struct book {/*在定义结构体类型的同时定义结构体变量*/
        char title [N];                                                         char title [N];
        char author [N];                                                        char author [N];
        float value;                                                            float value;
    };                                                                       }library[num];
    struct book library[num];
    

    访问结构体成员是用.运算符 ,例:library[n].value
    辨析:

    library                   //一个book结构的数组
    library[2]                //一个数组元素,该元素为book类型
    library[2].title          // 一个char类型数组(library[2]的title成员)
    library.[2].title[4]      //数组中library[2]元素的title成员的一个字符
    

    3.嵌套结构:可以使用结构体的嵌套来解决一些问题。(访问时使用两个.运算符即可)

    4.结构体指针

    struct book * thebook    //声明结构体指针
    thebook = &library;//指向结构体变量的指针
    
    thebook = &library[0];等价于 thebook = &library  //指向结构体数组首地址的指针
    thebook++;  //访问下一个结构体数组成员
    thebook->value  //访问成员
    

    5.向函数传递结构体

    向函数传递结构体单个成员

    复制单个成员的内容

    向函数传递结构体的完整结构

    复制结构体所有成员

    向函数传递结构体的首地址

    仅复制一个地址
    其他特性:同类型的结构变量可以直接赋值。

  • 相关阅读:
    java 基础笔记
    专业人士给我的JAVA学习建议
    JAVA版2048
    学习构建之法后的疑问
    角色职责及技术需求相关思考
    使用Composer安装Yii2框架+Windows下的XAMPP部署Yii2
    MiniProgram开发--云开发(1)
    Android Studio丢失Logcat问题
    SSH异常处理记录
    Android环境搭建与通过命令行方式创建Android应用
  • 原文地址:https://www.cnblogs.com/wangmou-233-1024-com/p/12791034.html
Copyright © 2020-2023  润新知