学习笔记
晨起煮粥
晨起煮粥,过午洗锅。
展开
-
设置随机数种子(lua学习笔记)
原理:利用数值(num+ 系统时间 )转化为string类型,反转之后截取部分数字当做随机数种子。local num = 10086 math.randomseed((tostring(num) .. tostring(os.time()%10000)):reverse():sub(1,10))string,reverse(s) : 返回字符串 s 的翻转串。string.sub(s, i...原创 2018-07-10 20:00:42 · 2916 阅读 · 0 评论 -
结构体和共用体(内存对齐原则)
结构体:结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体变量所占内存的长度是各个成员的总和,每个成员分别占有自己的存储空间。关键字:struct。共用体:共用体(union)把几种不同数据类型的变量存放在同一块内存里,共用体中的变量共享同一块内存,后赋值的会覆盖重写前面内存空间。共用体变量所占内存的长度为定义时的最长成员的长度。关键字:union。...原创 2018-11-22 21:00:19 · 3628 阅读 · 1 评论 -
const与#define的区别
(0) 相同两者都可以用来定义常量; #define PI 3.14159 // 常量宏 const doulbe Pi=3.14159; // 常量(1) 编译器处理方式不同 define宏是在预处理阶段展开; const常量是编译运行阶段使用;(2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 c...转载 2019-06-06 11:29:47 · 800 阅读 · 0 评论 -
struct和typedef struct
1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是struct Studen...转载 2019-06-13 16:54:54 · 151 阅读 · 0 评论 -
strcpy 和 memcpy函数的区别
strcpy和memcpy主要有以下3方面的区别。1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时...转载 2019-06-04 15:16:17 · 945 阅读 · 0 评论 -
C/C++语言对内存的使用
C和C++的编译器,把私有内存分为3块,基栈、浮动栈和堆。如图:1、基栈:也叫静态存储区。这是编译器在编译期间。就已经固定下来必须要使用的内存,如程序的代码段,静态变量,全局变量,const常量等。程序一调入内存,至少就要占用这么多空间。有个简单的不太准确的算法,exe文件有多大,差不多基栈就有多大。2、浮动栈:很多书上,就叫“栈”,就是程序开始运行,随着函数,对象的一段段执行,函数内...转载 2019-06-11 17:05:53 · 339 阅读 · 0 评论 -
C++中goto语句的使用
goto 语句允许把控制无条件转移到同一函数内的被标记的语句。goto语句的使用:1.保证函数只有一个出口的原则2.精简函数内二元动作的代码,如同个函数内的malloc 和 free,new 和 delete,加锁和解锁等操作(统一跳到函数结尾处释放)。如下例子:void Func(void){ char* p1=null; //此处,赋初值非常重要 char*...转载 2019-06-22 11:08:55 · 2059 阅读 · 0 评论