• C语言结构体


    作用: 创建一个新的数据类型, 可以卸载函数的内部或外部

    结构:

       //struct 结构体名字{
            //    数据类型1 成员变量名1;
            //    数据类型2 成员变量名2;
            //           ...
            //           ...
            //    数据类型n 成员变量n;
            //};

            //结构体的命名规范:大驼峰法
            //多个成员变量之间用分号;隔开
            //结构体外层的大括号后面要加分号;

    //    struct Student {
    //        short number;
    //        char name[20];
    //        char sex;
    //        float score;
    //    };

            //定义一个结构体变量
            //struct 结构体名字  变量的名字 = {对应的每个成员变量的处置,用逗号隔开};
        
            //  struct Student student = {123, "Mike", 'F', 99.9};
        
            //获取成员变量的值
            //变量名.成员变量名(点语法)
            //student.number;
    //    printf("%hd ", student.number);

    结构体的重命名

    /*
     写法一
    struct Rectangle {
        int lon;
        int width;
    };
    typedef struct Rectangle Rec;
     */
        //写法二

    typedef struct Rectangle {
        int lon;
        int width;
        P dian;
    }R;

    typedef struct Student {
        short number;
        char name[20];
        char sex;
        float score;
    }Stu;

    结构体可以直接赋值

    //    struct Student stu1 = {1314, "guozong", 'M', 99.9};
    //    struct Student stu2 = {520, "qiaoming", 'M', 9.99};
    //    struct Student stu3 = {0};

    //    stu3 = stu1.score > stu2.score ? stu1 : stu2;
    //    printf("number = %hd sex = %c name = %s score = %.2f ", stu3.number, stu3.sex, stu3.name, stu3.score);

            //结构体内存占用
            //以最大成员变量类型所占空间为分配单位
            //按结构体成员声明顺序自上而下分配
            //注:分配空间不足以存储成员变量时,分配新的空间单位

    //结构体数组
            // struct Student students[5] = {0};
        
        Stu students[5] ={
            {101, "aaa", 'f', 88.0},
            {102, "bbb", 'm', 89.0},
            {103, "ccc", 'f', 90.0},
            {104, "ddd", 'm', 99.0},
            {105, "eee", 'f', 97.0}
        };
        
        
        
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4 - i; j++) {
                
                if (students[j].score < students[j + 1].score) {
                    Stu temp = students[j];
                    students[j] = students[j + 1];
                    students[j + 1] = temp;
                }
            }
        }
        for (int i = 0; i < 5; i++) {
            printf("num = %hd name = %s sex = %c score = %.1f ", students[i].number, students[i].name, students[i].sex, students[i].score);
        }
        


         

  • 相关阅读:
    在react-native中使用es7语法中的decorator装饰器
    chrome从版本55开始,不再支持设置网页内容编码
    react-native 获取组件的宽度和高度
    手动安装Android Support Library(23.0.1)
    ubuntu 14.04 git clone 出现 fatal: Unable to find remote helper for 'https'
    React-Native 在android写不支持gif的解决方案!
    游戏大世界场景(胡诌篇)
    多线程先判断再操作免锁设计方案
    Mysql语句优化
    JVM GC Q&A(补充ing)
  • 原文地址:https://www.cnblogs.com/tian-sun/p/4308752.html
Copyright © 2020-2023  润新知