关键词:
一、结构体
结构体定义
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系统的启动流程
...告诫自己与他人,你可能会用你的一生去学习一门技术,长路漫漫,何不从一开始就把基础打好。 废话就不多说 查看详情