zoukankan      html  css  js  c++  java
  • C博客作业06-结构体&文件

    1.本章学习总结

    1.1学习内容总结

    结构体的定义

    • 一般形式为:
    struct 结构名{
    类型名 结构成员名1;
    类型名 结构成员名2;
    …
    类型名 结构成员名n;
    };
    struct是定义结构类型的关键字,在struct之后,自行命名一个结构名,它必须是一个合法的C标识符。
    例如:
    struct student {
    	int num;
    	char name[10];
    	int computer, english, math;
    	double average;
    };
    

    结构体的赋值

    • 对结构变量初始化
      struct student s1={101,"zhang",78,87,85};
    • 结构变量整体赋值
      如果两个结构变量具有相同的类型,则可以将一个结构变量的值赋给另一个结构变量。
      s2.num=s1.num;
      strcpy(s2.num,s1.num);
      

    结构体数组排序做法

    • 例:学生成绩排序


    结构体指针用法

    • 结构指针
    定义:
    struct student s1={101,"zhang",78,87,85},*p;
    p=&s1;
    
    • 结构指针访问结构成员
      (1)用*p访问结构成员
      (*p).num=101;

      (2)用指向运算符->访问指针指向的结构成员
      p->num=101;

    • 结构指针作为函数参数

      其中第一个形参就是结构指针,调用语句:pos= update_score(students, n,num,course,score);对应的实参是结构数组名students。

    共用体、枚举类型做法

    • 共用体定义:
    union 共用体名{
        成员列表
    };
    
    • 结构体和共用体的区别:
      1.结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。
      2.结构体占用的内存大于等于所有成员占用的内存的总和,共用体占用的内存等于最长的成员占用的内存。
      3.共用体使用了内存覆盖技术,同一时刻只能保存一个成员的值,如果对新的成员赋值,就会把原来成员的值覆盖掉。
    • 枚举类型的定义:
    enum
     
    枚举名
    {
        
    枚举值表
    };
    例如:
    enum typeName{
     valueName1,
     valueName2,
     valueName3,
     ...... 
    };
    
    • 注意:
      1.枚举列表中的valueName1,valueName2,valueName3这些标识符的作用范围是全局的,不能再定义与它们名字相同的变量。
      2.valueName1,valueName2,valueName3等都是常量,不能对它们赋值,只能将它们的值赋给其他的变量。

    1.2本章学习体会

    • 本章学习结构体及文件,内容多而且比较难理解,书上的知识点也没有完全理解,写的时候比较生疏,要不停的翻书。
    • 这次代码量很少,400行左右。

    2.综合作业--“我爱成语”

    2.1文件介绍

    头文件idiom.h

    • 用于定义结构体USER和IDI以及所有函数声明。

    函数实现文件介绍

    文件1 idiom.cpp

    • 用于ListMenu()函数,LoginUser()函数和ArrayLiat()函数的实现




    文件2 idiomMain.cpp

    • 主要做打开文件和函数调用,数据输入输出处理。

    文件3 Login.cpp

    • 用于GetChioce()函数和CheckUserValid()函数的实现


    运行结果


  • 相关阅读:
    【Layui】11 滑块 Slider
    【Layui】10 颜色选择器 ColorPicker
    【Layui】09 动画 Anim
    【Layui】08 时间线 Timeline
    【Layui】07 徽章 Badge
    【Layui】06 面板 Panel
    【Layui】05 进度条 Progress
    【Layui】05 选项卡 Tabs
    【Layui】04 导航 Nav
    【Layui】03 按钮 Button
  • 原文地址:https://www.cnblogs.com/4-Real/p/12008518.html
Copyright © 2011-2022 走看看