• c博客06-结构体&文件


    1.本章学习总结

    1.1 学习内容总结

    • 结构体的定义和赋值
    一般形式:
     struct  结构体名
      {
        数据类型   成员名1;
        数据类型   成员名2;
         :
        数据类型   成员名n;
      };
    
    常用形式:
    typedef struct {
        类型名 结构成员1;
        类型名 结构成员2;
    
        ...
    }新的变量类型名;
    
    • 结构体数组排序做法
    for (i = 0; i < n - 1; i++)
    {
        index = i;
        for (j = i + 1; j < n; j++)
            if (students[j].average > students[index].average)
                index = j;
        temp = students[index];
        students[index] = students[i];
        students[i] = temp;
    }
    
    • 结构体指针怎么用
    结构指针就是指向结构类型变量的指针
    例:
    struct student s1 = { 101,"zhang",78,87,85 }, * p;
    p = &s1;
    第一条语句定义了struct student类型的变量s1并初始化,另外还定义了一个结构指针变量p;
    第二条语句使结构指针p指向结构变量s1。
    
    有了结构指针的定义,既可以通过结构变量s1直接访问结构成员,
    也可以通过结构指针变量p间接访问它所指向的结构变量中的各个成员。
    (1)用* p访问结构成员
    如:
    (*p).num = 101;
    (*p)中的括号必不可少,因为"."的优先级高于"*"
    (2)用指向运算符->访问指针指向的结构成员
    如:
    p->num = 101;
    
    结构指针作为函数参数
    课本为例
    例9 - 3
    int update_score(struct student* p, int n, int num, int course, int score);
    其中第一个形参就是结构指针
    对应的实参是结构数组名students。
    即将结构数组students的首地址值传递给结构指针p。
    经过参数传递后,在函数update_score()中就可以通过结构指针p对结构数组students中的数据进行间接访问操作。
    
    使用结构指针作为函数参数只要传递一个地址值,就可以吧结构成员传过去,极大提高参数传递的效率
    
    • 共用体、枚举类型做法
    共用体类型:
    union 共用体类型名
    {
        成员列表
    };
    枚举类型:
    enum weeks{ SUN,MON,TUE,WED,THU,FRI,SAT};  //枚举常量的值  默认 0,1 ,2......
    
    • 文件读写,文件中数据如何读进结构体数组
    fp = fopen("  ", "r+");
        if (fp == NULL)
        {
            exit(0)
        }
    

    1.2 本章学习体会

    1.本章的内容较为复杂,学习难度较大,对于知识点的掌握还不够熟练,需要多练多复习,希望顺利通过期末考。
    2.300行+

  • 相关阅读:
    vue03
    vue02
    vue01
    VMware下Linux配置局域网和外网访问
    以太坊solidity编程常见错误(不定期更新)
    elasticsearch的探索之路
    一个rails项目连多个mongo数据库
    分析rails日志,计算响应率
    PostgreSQL新手上路PG::ConnectionBad (FATAL: Peer authentication failed
    cache目录没有权限
  • 原文地址:https://www.cnblogs.com/my-sky-2019/p/12046366.html
Copyright © 2020-2023  润新知