首页 > 其他分享 >结构体基础知识

结构体基础知识

时间:2023-04-06 23:12:27浏览次数:29  
标签:基础知识 变量 函数 struct name stu main 结构

  • 定义struct变量后,在main函数的调用时//定义时struct不可以省略

  • struct sudent s1;//这个可以省略
    s1.name="name";
  • struct sudent s2={"学生","18"};
    cout<<s2.name

    结构体数组

    • 在main函数中

    • struct Student stuarray[3]=
      {
      {"张三",21,34},//stuarray[1]
      {"李四",71,54},//stuarray[2]
      {"王五",56,15},//stuarray[3]
      }//相当于一个arr[3][3]的一个数组。
    • 赋值时

    • stuarray[2].name="赵六";

      结构体指针

      • struct Student s={值,值};
        struct Student *p=&s;
        *p=值//可以修改或赋值
        //通过指针访问结构体变量中的数据
        p->name

        结构体的嵌套

        • - struct sudent 
          - {
              string name;
              int age;
              int score;
          }
          struct teacher
          {
          int id;
          string name;
          int age;
          struct student stu;//在老师的结构体中嵌套学生类的结构体
          }
        • 访问student中的变量时

        • struct teacher tea;
          tea.stu.name=" ";

          结构体的值传递和地址传递

          void print01 (struct student stu)//值传递
          {
          cout<<stu.name;
          }
          void print02 (struct student *stu)//如果加入const变为常量指针
          {
          stu->name;
          }
          • main函数中

          • print(stu);
            print(&stu)

            面向对象内存四区

            程序运行前

            • 代码区:存放函数体的二进制代码,由操作系统进行管理

            • 全局区:存放全局变量静态变量和常量

            程序运行后

            • 栈区:由编译器自动的分配,存放函数的参数值,局部变量。

            • 堆区:由程序员分配和释放。不释放由程序自个释放

            • 意义:实现不同的周期赋予不用的生命周期灵活的编程。

              代码区

              • 启动应用的exe程序中的代码区时共享的

                共享:代码区就一份代码

 

                                       代码区是只读的,防止被修改

                                全局区全局区包括全局变量静态变量

                               静态变量还包括变量区字符串常量其他常量静态变量数据由程序结束后由操作系统释放

                               在main函数上面的变量为全局变量main函数下可创建普通的局部变量

                               main函数下变量前加入static属于静态变量

                               main函数下静态变量全局变量字符串常量和全局常量地址很近

                               局部变量和局部常量地址很近

                               const修饰的变量分为局部变量和全局变量,其中修饰的局部变量不在全局区 

标签:基础知识,变量,函数,struct,name,stu,main,结构
From: https://www.cnblogs.com/boyboy/p/17294567.html

相关文章

  • 总线结构
    参考资料:总线结构-微计算机原理-电子发烧友网站(elecfans.com)一个计算机系统由主机和外设组成,而主机又是由各种大规模集成电路芯片为核心的多种插件组成。所以插件与插件之间,同一插件芯片与芯片之间,或者系统与系统之间都需要用通信线路连接起来。所谓总线,就是若干互连线的集......
  • 【web 开发基础】PHP 的流程控制之多向条件分支结构 -PHP 快速入门 (14)
    多向条件分支结构(elseif)条件分支结构其实是我们生活中常用的一种一种逻辑结构,类似于我们常用的(如果...那么...否则...就.....).本文中的elseif子句,和此名称暗示的一样,就是if和else的组合,相当于(...else{if(表达式){{语句块;}}})。和else一样,它延伸了if语句,条件分支结构中els......
  • LoadMoreListView+SwipeRefreshLayout(分页下拉)基本结构
    一切为了快速迭代importjava.util.ArrayList;importorg.json.JSONObject;importandroid.animation.ObjectAnimator;importandroid.os.Bundle;importandroid.support.v4.widget.SwipeRefreshLayout;importandroid.util.Log;importandroid.vie......
  • Java基础知识点(抽象类)
    封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为。一:抽象方法和抽象类的定义将共性的行为(方法)抽取到父类之后,由于每一个子类执行的内容是不一样,所以,在父类中不能确定的具体的方法体,该方法就可以定义为抽象方法。抽象类:如果一个类中存在抽象方法,那么该类就必须声明抽象类。......
  • Java基础知识点(抽象类)
    封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为。一:抽象方法和抽象类的定义将共性的行为(方法)抽取到父类之后,由于每一个子类执行的内容是不一样,所以,在父类中不能确定的具体的方法体,该方法就可以定义为抽象方法。抽象类:如果一个类中存在抽象方法,那么该类就必须声明抽象类。......
  • MYSQL基础知识之多表查询
    1、多表关系在数据表中,各个表结构之间存在着各种关系(一对一、一对多、多对多)。一对一关系:示例:学生与学生详情的关系,一个学生对应一个详细情况,一个详细情况对应一个学生。实现:在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一的UNIQUE。一对多关系:示例:学生与班级的关......
  • redis基础数据结构详解
    一.redis为什么快基于内存的存储虽然是单线程,但是采取了多路复用,可以高效的处理网络并发良好的数据结构设计二.redis基础数据结构redis有五种基础的数据结构string,list,set,zset,hashredis所有的数据结构的key都是string类型,我们所说的数据结构都是指value的数据结构......
  • 三菱PLC 结构化编程Q系列整条生产线大型项目
    三菱PLC结构化编程Q系列整条生产线大型项目两台QPLC6台触摸屏以太网通讯机器人控制mesccdRS232串口通讯大量fb,fc通用模块三菱plc大项目程序高级编程三菱PLC结构化编程一整条生产线程序全套资料2台Q系列CPU6台触摸屏CC-LINK IO串口通信扫码枪8台机器人拧紧......
  • KingbaseES修改表结构-表的重写
    KingbaseES修改表结构-表重写问题在实际项目使用数据库的过程中修改字段类型这类需求比较常见。一、修改表字段类型需要知道:1.修改表结构可能会导致表进行重写(表OID发生变化)。2.修改表结构带有索引或者字段类型长度或者精度操作时,会触发索引重建。3.重建索引操作,对于大表需要......
  • 深入理解MySQL索引底层数据结构
    1引言在日常工作中,我们会遇见一些慢SQL,在分析这些慢SQL时,我们通常会看下SQL的执行计划,验证SQL执行过程中有没有走索引。通常我们会调整一些查询条件,增加必要的索引,SQL执行效率就会提升几个数量级。我们有没有思考过,为什么加了索引就会能提高SQL的查询效率,为什么有时候加了索引SQ......