长路漫漫,唯剑作伴--基础

来事啊 来事啊     2022-08-28     770

关键词:

一、结构体

结构体定义

    struct stu{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在学习小组
        float score;  //成绩
    }

结构体变量

struct stu stu1, stu2;
    struct stu{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在学习小组
        float score;  //成绩
    } stu1, stu2;
    struct{  //没有写 stu
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在学习小组
        float score;  //成绩
    } stu1, stu2;

结构体访问

    #include <stdio.h>
    int main(){
        struct{
            char *name;  //姓名
            int num;  //学号
            int age;  //年龄
            char group;  //所在小组
            float score;  //成绩
        } stu1;
        //给结构体成员赋值
        stu1.name = "Tom";
        stu1.num = 12;
        stu1.age = 18;
        stu1.group = A;
        stu1.score = 136.5;
        //读取结构体成员的值
        printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!
", stu1.name, stu1.num, stu1.age, stu1.group, stu1.score);
        return 0;
    }

结构体赋值

    struct{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在小组
        float score;  //成绩
    } stu1, stu2 = { "Tom", 12, 18, A, 136.5 };

二、结构体数组

    struct stu{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在小组 
        float score;  //成绩
    }class[5];
    struct stu{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在小组 
        float score;  //成绩
    }class[5] = {
        {"Li ping", 5, 18, C, 145.0},
        {"Zhang ping", 4, 19, A, 130.5},
        {"He fang", 1, 18, A, 148.5},
        {"Cheng ling", 2, 17, F, 139.0},
        {"Wang ming", 3, 17, B, 144.5}
    };
    struct stu{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在小组 
        float score;  //成绩
    }class[] = {
        {"Li ping", 5, 18, C, 145.0},
        {"Zhang ping", 4, 19, A, 130.5},
        {"He fang", 1, 18, A, 148.5},
        {"Cheng ling", 2, 17, F, 139.0},
        {"Wang ming", 3, 17, B, 144.5}
    };

三、结构体和指针

    struct stu{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在小组
        float score;  //成绩
    } stu1 = { "Tom", 12, 18, A, 136.5 };
    //结构体指针
    struct stu *pstu = &stu1;
    struct stu{
        char *name;  //姓名
        int num;  //学号
        int age;  //年龄
        char group;  //所在小组
        float score;  //成绩
    } stu1 = { "Tom", 12, 18, A, 136.5 }, *pstu = &stu1;
    #include <stdio.h>
    int main(){
        struct{
            char *name;  //姓名
            int num;  //学号
            int age;  //年龄
            char group;  //所在小组
            float score;  //成绩
        } stu1 = { "Tom", 12, 18, A, 136.5 }, *pstu = &stu1;
        //读取结构体成员的值
        printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!
", (*pstu).name, (*pstu).num, (*pstu).age, (*pstu).group, (*pstu).score);
        printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!
", pstu->name, pstu->num, pstu->age, pstu->group, pstu->score);
        return 0;
    }

四、枚举

    enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
    enum week a = Mon, b = Wed, c = Sat;

 五、C++结构体

     //定义一个结构体,类型为struct Student
2      struct  Student     
3      {
4          string name;
5          double eng;
6          double ch;
7      }; 
8       
9      //定义了一个结构体,类型为struct Student;且定义了一个结构体实例,名叫Stu
10      struct  Student    
11      {
12          string name;
13          double eng;
14          double ch;
15      }Stu; 
16       
17      //定义了无名的结构体,且定义了一个结构体实例,名叫Stu
18      struct 
19      {
20          string name;
21          double eng;
22          double ch;
23      }Stu; 
24       
25      //重定义结构体,类型为struct Student 或者是Stu
26      typedef struct  Student  
27      {
28          string name;
29          double eng;
30          double ch;
31      }Stu; 
32       
33      //重定义结构体,类型为Stu
34      typedef struct  
35      {
36          string name;
37          double eng;
38          double ch;
39      }Stu;

 

长路漫漫,唯剑作伴--mvvm

开篇MVCModel-View-Controller是一个用来组织代码的权威范式。Apple甚至是这么说的。在MVC下,所有的对象被归类为一个model,一个view,或一个controller。Model持有数据,View显示与用户交互的界面,而ViewController调解Model和View之间的交互... 查看详情

长路漫漫,唯剑作伴--automaticreferencecounting

一、简介ARC,自动引用计数,是指iOS的内存管理使用引用计数的技术。在OC中采用AutomaticReferenceCounting的机制,让编译器进行内存管理。在新一代的AppleLLVM编译器中设置ARC为有效状态,就不用再次键入retain、release代码,这在降低... 查看详情

长路漫漫,唯剑作伴--coreanimation

一、UIView和CALayer关系在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象),通过UIView的layer属性可以访问这个层。当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的层上,绘图完... 查看详情

长路漫漫,唯剑作伴--问题答案

一、使用atomic一定是线程安全的吗?回答不是对于atomic的属性,系统生成的getter/setter会保证get、set操作的完整性,不受其他线程影响。比如,线程A的getter方法运行到一半,线程B调用了setter:那么线程A的getter还是能得到一个完... 查看详情

长路漫漫,唯剑作伴--coreanimation优化

一、简介当App发展到一定的规模,性能优化就成为必不可少的一点。但是很多人,又对性能优化很陌生,毕竟平常大多时间都在写业务逻辑,很少关注这个。最近在优化自己的项目,也收集了很多资料,这里先浅谈一下使用Instru... 查看详情

长路漫漫,唯剑作伴--lifecircle

一、load和initialize load在load中使用其他类是不安全的,因为其它类不一定加载完毕;load方法不遵循继承规则,也就是说,如果某个类没有实现load方法,那么不管这个类的所有超类是否实现了这个方法,这个类都不会调用load... 查看详情

长路漫漫,唯剑作伴--loadviewviewdidload及viewdidunload的关系

一、loadView什么时候被调用?每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。有什么作用?loadView方法是用来负责创建UIViewController的view默认实现是怎样的?它会先去查找与UIViewController... 查看详情

亚索语录

...12、想杀我?你可以试试。13、剑之故事,以血为墨。14、长路漫漫,唯剑作伴。15、吾之荣耀,离别已久。16、死亡如风,常伴吾身。17、我不会怀着耻辱而死!18、 查看详情

函数知识(长路漫漫,任重道远)

  (第一周学习计算机基础,多年的思维习惯正在努力慢慢改变,知识点主要困于循环与函数,还得多加练习,既然是自己选择的当然得站到最后!)函数:具有独立功能,能通过名称重复使用的代码。参数:完成一件事需要... 查看详情

你逛过凌晨4点的校园吗?--前端人的漫漫长路(代码片段)

大家好哇,我是小丞同学,在文章开头再简单的介绍下自己吧~我是一名前端爱好者,想要成为一名高级前端开发工程师💖大二@GDUT🏘Base:广州时间一晃而过,弹指之间,2021年已经接近尾声,过... 查看详情

亚索语录

...12、想杀我?你可以试试。13、剑之故事,以血为墨。14、长路漫漫,唯剑作伴。15、吾之荣耀,离别已久。16、死亡如风,常伴吾身。17、我不会怀着耻辱而死!18、御剑于心,且听风吟。19、无罪之人,方可安睡。20、这个故事还... 查看详情

长路漫漫,其修远兮,这一年我与csdn的故事|2021年终总结

...;这一年来经历了许多,也感悟了很多。回顾2021,长路漫漫,其修远兮,在2022也将不忘初心,砥砺前行。一.2021,我选择了“CSDN”其实人生基本就两件事,先选题,再解题。最好的人生应该是再每... 查看详情

长路漫漫,其修远兮,这一年我与csdn的故事|2021年终总结

...;这一年来经历了许多,也感悟了很多。回顾2021,长路漫漫,其修远兮,在2022也将不忘初心,砥砺前行。一.2021,我选择了“CSDN”其实人生基本就两件事,先选题,再解题。最好的人生应该是再每... 查看详情

你逛过凌晨4点的校园吗?--前端人的漫漫长路(代码片段)

大家好哇,我是小丞同学,在文章开头再简单的介绍下自己吧~我是一名前端爱好者,想要成为一名高级前端开发工程师💖大二@GDUT🏘Base:广州时间一晃而过,弹指之间,2021年已经接近尾声,过... 查看详情

你逛过凌晨4点的校园吗?--前端人的漫漫长路(代码片段)

大家好哇,我是小丞同学,在文章开头再简单的介绍下自己吧~我是一名前端爱好者,想要成为一名高级前端开发工程师💖大二@GDUT🏘Base:广州时间一晃而过,弹指之间,2021年已经接近尾声,过... 查看详情

你逛过凌晨4点的校园吗?--前端人的漫漫长路(代码片段)

大家好哇,我是小丞同学,在文章开头再简单的介绍下自己吧~我是一名前端爱好者,想要成为一名高级前端开发工程师💖大二@GDUT🏘Base:广州时间一晃而过,弹指之间,2021年已经接近尾声,过... 查看详情

你逛过凌晨4点的校园吗?--前端人的漫漫长路(代码片段)

大家好哇,我是小丞同学,在文章开头再简单的介绍下自己吧~我是一名前端爱好者,想要成为一名高级前端开发工程师💖大二@GDUT🏘Base:广州时间一晃而过,弹指之间,2021年已经接近尾声,过... 查看详情

rhel6系统的启动流程

...告诫自己与他人,你可能会用你的一生去学习一门技术,长路漫漫,何不从一开始就把基础打好。 废话就不多说 查看详情