C++
qq_33489706
这个作者很懒,什么都没留下…
展开
-
操作系统中程序的内存结构
操作系统从低地址到高地址分别为正文段(代码区)、已初始化数据区、BSS(未初始化)、堆、栈。 正文段主要存储机器指令即执行代码。这部分区域的大小在程序运行前就已经确定,并且这个区域只读。 已初始化数据区为数据分配内存空间并保存到目标文件。 BSS(未初始化数据)没有存放在磁盘程序文件。应为它们运行前初始值为0。正文段和已初始化数据存放在目标文件中。 堆区用于动态分配内存,位于BSS和栈中间的区域。采用链式存储,频繁的malloc()和free()导致其效率比栈低。 ...原创 2020-09-12 14:54:40 · 419 阅读 · 0 评论 -
static的作用
说一说static关键字 的作用1.全局静态变量在全局变量前加上static,定义为全局静态变量,存储在静态存储区。正常情况下,未初始化的全局静态变量初始化为0,除声明它的文件外不可用。2.局部静态变量局部静态变量与全局相似,只不过作用域变小,即适用于某个定义它的函数或语句。二次调用函数时,静态变量的值不变。3.静态函数在函数返回类型前加上static即为静态函数。函数的定义和声明在默认情况下都是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。定义的静态函数只能在本c原创 2020-07-04 13:32:28 · 98 阅读 · 0 评论 -
C++处理类型
定义类型别名分两种:typedef和using列如:typedef int aaa;//aaa为int的类别名,如aaa i=0;using bbb=float;//bbb i=0.1;auto类型说明符它能让编译器替我们去分析表达式所属的类型decltype类型指示符作用:选择并返回操作数的数据类型。decltype((v))双层括号永远是引用,而decltype(v)单层括号...原创 2020-07-04 13:03:38 · 71 阅读 · 0 评论 -
C风格字符串
C风格字符串的函数strlen(s) 返回s的长度,空字符串不计算在内strcmp(s1,s2) 比较两个字符串的相等性,相等返回0,大于返回正值,小于则返回负值strcat(s1,s2) 将s2附加到s1之后,返回s1strcpy(s1,s2) 将s2拷贝给s1,返回s1...原创 2020-07-04 13:02:59 · 82 阅读 · 0 评论 -
指针
指针1.指针本身就是一个对象,允许指针之间的拷贝和赋值,也可以在其生命周期指向不同的对象,而引用不行。引用类型的初始值必须是个对象,且定义时必须初始化。当然指针类型也需要和匹配对象类型严格吻合。2.指针无需在定义时赋值。3.判定指针是否指向一个合法对象,需要知道指针是否有效。指向指针的指针**表示指向指针的指针,3个*表示指向指针的指针的指针,以此类推。int i=1024;int ...原创 2020-07-04 13:33:52 · 212 阅读 · 0 评论 -
const限定符
const有时想定义一个变量,它的值不能被改变。列如,用一个变量来表示缓冲区的大小,这时我们就可以用const来定义。const int bufSize=512;bufSize=512;//错误:试图向const对象写值初始化和constconst用在变量定义时的类型前表示该变量不可改变,注意:该变量必须初始化(可以在运行时初始化)。默认状态下,const对象仅在文件内有效。如果想在...原创 2020-07-04 13:03:56 · 260 阅读 · 0 评论