当前位置: 首页 > news >正文

舟山建设网站公司seo需要掌握什么技能

舟山建设网站公司,seo需要掌握什么技能,山西seo推广方案,游戏开科技软件免费目录 内存四区 代码区 全局区 栈区 堆区 内存四区意义: 程序运行前后内存变化 程序运行前 代码区 全局区 程序运行后 栈区 堆区 new操作符 基本语法 创建 释放(delete) 内存四区 代码区 代码区(Code Segment&…

目录

内存四区

代码区

全局区

栈区

堆区

内存四区意义:

程序运行前后内存变化

程序运行前

代码区

全局区

 程序运行后

栈区

堆区

new操作符

基本语法

创建

释放(delete)


内存四区

代码区

代码区(Code Segment):存放程序的机器指令,包括函数体的二进制代码。这部分内存由操作系统进行管理,是只读的,不允许修改。

全局区

全局区(Global/Data Segment):存放全局变量、(static)静态变量以及(const)常量数据。全局变量和静态变量在程序运行期间始终存在,而常量数据则通常存储常量字符串等不可修改的数据。这部分内存在程序启动时分配,在程序结束时释放。

栈区

栈区(Stack):用于存储函数的参数值、局部变量以及函数调用时的上下文信息,由编译器自动分配和释放,具有后进先出(LIFO)的特点。在函数调用时,会为每个函数帧(函数调用的上下文)分配一段栈空间,函数返回后会自动释放该空间。

堆区

堆区(Heap):用于动态分配内存,程序员可以通过手动管理来申请和释放堆内存。堆区的内存分配和释放不受函数调用的限制,需要程序员显式地使用newdeletemallocfree等操作符来进行内存的分配和释放,若程序员不释放,程序结束时由操作系统回收。堆区的内存空间是不连续的,大小相对较大。

内存四区意义:

不同区域存放的数据,被赋予了不同的生命周期, 让我们可以更灵活地编程

(帮助我们合理管理内存资源,提高程序的性能和可维护性)

 

程序运行前后内存变化

程序运行前

在程序编译后,生成了exe可执行程序,未执行该程序前分为全局区和代码区两个区域

代码区

存放 CPU 执行的机器指令

代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可

代码区是只读的,使其只读的原因是防止程序意外地修改了它的指令

全局区

全局变量和静态变量存放在此.(全局变量、static 静态变量)

全局区还包含了常量区, 字符串常量和其他常量也存放在此. (const 常量等)

该区域的数据在程序结束后由操作系统释放

 程序运行后

多了堆区和栈区,栈和堆是在程序运行时动态创建的。在程序运行时,根据需要会动态地为局部变量、函数调用等分配栈空间,而堆则用于动态分配内存。

栈区

栈区是由编译器自动分配和释放的,用于存储函数的参数值、局部变量等数据。栈的分配和释放遵循后进先出的原则(LIFO)。当程序执行到一个函数时,该函数的参数会被压入栈中,并在函数执行完毕后自动释放。同样,函数内部的局部变量也会在函数执行完毕后被自动销毁。

注意:在栈区分配的数据不应返回其地址,因为一旦函数执行结束,栈上的数据将被清除,这意味着返回局部变量的地址可能会导致访问已经释放的内存,引发未定义的行为。为了避免这种情况,应始终返回指向堆上动态分配的内存的地址,或是返回全局变量的地址。

堆区

堆区是由程序员手动分配和释放的,需要注意的是如果程序员没有及时释放堆区的内存,那么在程序结束时,操作系统会回收这些内存。

一般使用new关键字来在堆区动态地分配内存,通过new分配的内存将在堆区中创建,并返回该内存的地址。我们可以使用指针来保存这个地址,并在适当的时候使用delete关键字释放对应的内存。需要注意的是,在使用堆区的内存时,要确保正确分配和释放内存,否则可能会导致内存泄漏或者因释放已释放内存而产生悬空指针。

new操作符

new 是C++中用于动态分配内存的操作符。它可以用来在堆区(也称为自由存储区)上创建对象或数组。(程序员手动开辟,手动或者程序结束时自动释放,释放内存利用操作符 delete

基本语法

new 数据类型

利用new创建的数据,会返回该数据对应的类型的指针

创建

//动态创建单个对象:Type* pointer = new Type;//Type* pointer = new Type(a);//动态创建数组:Type* array = new Type[size]{a,b,c};//Type* array = new Type[size];

释放(delete)

//释放对象delete pointer;//释放数组delete[] array;

http://www.yayakq.cn/news/646056/

相关文章:

  • 自己做的网站标题合肥做网站
  • 做淘客网站大型网站开发框架
  • 做网站 备案网站怎么做筛选功能的代码
  • 中国国防建设网站上海知名网站设计
  • 设计发明的网站wordpress 中文版 编码
  • 网站空间有什么用网络营销公
  • 宁晋网站建设设计优化网站建设
  • 建一个网站需要多少费用wordpress主题包
  • 单位建网站的详细步骤软件定制公司值得去吗
  • 怎么做网站推销产品在线培训平台有哪些
  • 自助建站网站建设设计公司无锡网站推广$做下拉去118cr
  • 地方网站商城怎么做老地方在线观看免费资源大全
  • 南昌网站建设哪家就好运动猿app 网站开发
  • 怎么使用服务器做网站东莞app开发定制
  • 同城配送网站建设建设网站的价格是多少钱
  • 如何设计自己想要的图片seo社区
  • 分类网站一天做几条合适app要有网站做基础知识
  • 古董手表网站品牌广告策划方案
  • 课程网站建设目标任务黑帽seo优化推广
  • 网站首页轮播怎么做sem对seo的影响有哪些
  • 增城建设局网站大数据营销的典型案例
  • 肥城市住房和城乡建设厅网站网站制作怎么做
  • 栅格系统做的网站微信平台开发技术
  • dede珠宝商城网站源码聊城高新区建设局网站
  • emeinet亿玫网站建设湖北网站建设公司
  • 关于网站建设的调查报告郑州模板建站代理
  • 贵州网站推广公司邯郸移动网站建设价格
  • 网站建设需要注意哪些内容莱芜金点子广告最新招聘电子版
  • 外贸网站seo推广高度重视网站建设 利用网站 接受监督
  • 如何给自己做网站怎样做聊天网站