C
文章平均质量分 86
晨起煮粥
晨起煮粥,过午洗锅。
展开
-
结构体和共用体(内存对齐原则)
结构体:结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体变量所占内存的长度是各个成员的总和,每个成员分别占有自己的存储空间。关键字:struct。共用体:共用体(union)把几种不同数据类型的变量存放在同一块内存里,共用体中的变量共享同一块内存,后赋值的会覆盖重写前面内存空间。共用体变量所占内存的长度为定义时的最长成员的长度。关键字:union。...原创 2018-11-22 21:00:19 · 3488 阅读 · 1 评论 -
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 · 128 阅读 · 0 评论 -
strcpy 和 memcpy函数的区别
strcpy和memcpy主要有以下3方面的区别。1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时...转载 2019-06-04 15:16:17 · 908 阅读 · 0 评论 -
C/C++语言对内存的使用
C和C++的编译器,把私有内存分为3块,基栈、浮动栈和堆。如图:1、基栈:也叫静态存储区。这是编译器在编译期间。就已经固定下来必须要使用的内存,如程序的代码段,静态变量,全局变量,const常量等。程序一调入内存,至少就要占用这么多空间。有个简单的不太准确的算法,exe文件有多大,差不多基栈就有多大。2、浮动栈:很多书上,就叫“栈”,就是程序开始运行,随着函数,对象的一段段执行,函数内...转载 2019-06-11 17:05:53 · 296 阅读 · 0 评论 -
C++中goto语句的使用
goto 语句允许把控制无条件转移到同一函数内的被标记的语句。goto语句的使用:1.保证函数只有一个出口的原则2.精简函数内二元动作的代码,如同个函数内的malloc 和 free,new 和 delete,加锁和解锁等操作(统一跳到函数结尾处释放)。如下例子:void Func(void){ char* p1=null; //此处,赋初值非常重要 char*...转载 2019-06-22 11:08:55 · 1942 阅读 · 0 评论