zoukankan      html  css  js  c++  java
  • 结构体

    1. 结构体

      利用结构体造出一个新的数据类型,这个新的数据类型是由基本数据类型所组合成的

      1. 为什么需要结构体

      为了表示一些复杂的事物,而普通的基本类型无法满足实际的要求

    2. 什么叫结构体

      把一些基本类型数据组合在一起,形成一个新的复合数据类型,这个叫做结构体

    3. 如何定义结构体

    /*
     2020年6月19日22:37:25
     目的:如何定义一个结构体
    */

    # include <stdio.h>
    // 第一种方式
    struct Student
    {
    int age;
    float score;
    char sex;
    };
    // 第二种方式
    struct Student2
    {
    int age;
    float score;
    char sex;
    } st2;// st2 为变量名

    // 第三种方式
    struct
    {
    int age;
    float score;
    char sex;
    } st3;// st3 为变量名
    /*
     只推荐使用第一种方式定义结构体
    */
    1. 怎样使用结构体变量

      赋值和初始化

      定义的同时可以整体赋初值

      如果定义完之后,则只能单个赋值

      # include <stdio.h>
      // 第一种方式 这只是定义了一个新的数据类型,并没有定义变量
      struct Student
      {
      int age;
      float score;
      char sex;
      };

      int main(void)
      {
      struct Student st = {20, 66.2, 'F'}; // 初始化 定义的同时赋初值
      struct Student st2;

      st2.age = 10;
      st2.score = 66.3;
      st2.sex = 'F';

      printf("%d %f %c ",st.age, st.score, st.sex);
      printf("%d %f %c ",st2.age, st2score, st2.sex);

      return 0;

      }

      如何取出结构体变量中的每一个成员

      1. 结构体 . 成员名

      2. 指针变量名 ->成员名 (第二种更常用)

        在计算机内部会被转化成(*指针变量名).成员名 的方式来执行

        # include <stdio.h>
        // 第一种方式
        struct Student
        {
        int age;
        float score;
        char sex;
        };

        int main(void)
        {
        struct Student st = {20, 66.2, 'F'}; // 初始化 定义的同时赋初值
           /* 第一种方式
        st2.age = 10;
        st2.score = 66.3;
        st2.sex = 'F';*/

        struct Student * pst = &st; // &st不能改成st

        pst->age = 88; // 第二种方式
        }
        /*pst->age 在计算机内部会被转换成(*pst).age,没有为什么,这就是->的含义,也一种硬性规定
        所以 pst->age 等价于(*pst).age 也等价于 st.age
        pst->age的含义:
        pst所指向的那个结构体变量中的age这个成员

      结构体变量的运算

      不能相加,相减,相互乘除,但是可以相互赋值

      结构体变量和结构体变量指针作为函数参数传递的问题

      推荐使用结构体指针变量作为函数的参数来传递

      动态构造存放学生信息的结构体(举例)

      动态构造一个数组。存放学生的信息,然后按分数排序输出

      链表

  • 相关阅读:
    js中的数据类型转换
    js中的数据类型
    模仿QQ菜单的手风琴效果(点击当前展示其“兄弟”关闭)
    QQ菜单案例,点击展开再次点击关闭(类似手风琴效果)
    日期格式化:SimpleDateFormat【线程不安全】、FastDateFormat和Joda-Time【后两个都是线程安全】
    lik模糊e查询语句,索引使用效果详解
    组合索引的使用效果的总结
    Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享
    Spring4新特性
    Spring 事物机制(总结)
  • 原文地址:https://www.cnblogs.com/icoding233/p/13174141.html
Copyright © 2011-2022 走看看