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

800字以上网站设计方案百度seo排名点击软件

800字以上网站设计方案,百度seo排名点击软件,2023电商平台排行,沈阳网站开发公司喵~ 内存之5大区(栈区、堆区、静态区、常量区、代码区)C/C中各自的内存分配操作符内存泄露?内存泄漏检测方法 内存之5大区(栈区、堆区、静态区、常量区、代码区) 1、栈区(stack):由编译器自动分…

喵~

  • 内存之5大区(栈区、堆区、静态区、常量区、代码区)
  • C/C++中各自的内存分配操作符
  • 内存泄露?
  • 内存泄漏检测方法

内存之5大区(栈区、堆区、静态区、常量区、代码区)

在这里插入图片描述
1、栈区(stack):由编译器自动分配、释放,存放函数的参数值,局部变量值等。
在这里插入图片描述

2、堆区(heap):一般由程序员分配、释放,随叫随到,挥之即走,这块内存也就是我们说的动态内存

下面程序中简单呈现了动态内存的分配与释放

通过new关键在堆区动态分配内存,通过delete释放动态内存

在高并发场景中,申请的内存必须要释放,否则会造成内存释放

整个分配的动态内存周期就是从new申请到delete结束
在这里插入图片描述

3、全局/静态区(static):全局变量和静态变量的存储是放在一起的,在程序编译时分配。

全局变量和静态变量都存放在全局区或者静态区

但是静态变量的使用范围只在声明它的函数内

在这里插入图片描述

4、常量区:存放常量字符串。

在这里插入图片描述

5、程序代码区:存放函数体(包括 函数)的二进制代码

所有需要执行的指令都在代码区

C/C++中各自的内存分配操作符

动态分配的内存都在堆上

1、C++中内存分配所使用的操作符为 new 和 delete
2、C 中内存分配所使用的操作符为 malloc 和 free

void *malloc(size_t size); //参数为所需内存的字节数
void free(void *);
malloc 在内存的动态存储区中分配一块长度为 size 字节的连续区域返回该区域 的首地址

free释放内存的时候需要传入要释放的地址作为参数

delete释放内存的时候不需要参数, 直接后面跟上即可

在这里插入图片描述

总结:

1、在软件项目开发过程中,我们经常需要动态地分配和撤销内存空间,特别是数据结构中结点的插入与删除。在C 语言中是利用库函数malloc 和free 来分配和撤销内存空间的。C++提供了较简便而功能较强的运算符new 和delete 来取代malloc 和free 函数。
注意: new 和delete 是运算符,不是函数,因此执行效率高。

2、虽然为了与C 语言兼容,C++仍保留mallocfree 函数,但建议用户不用mallocfree 函数,而用newdelete 运算符

new 运算符的例子:

new int; //开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)

new int(10); //开辟一个存放整数的空间,并指定该整数的初值为10,返回一个指向该存储空间的地址

new char[100]; //开辟一个存放字符数组(包括100 个元素)的空间,返回首元素的地址

new int[5][4]; //开辟一个存放二维整型数组(大小为5*4)的空间,返回首元素的地址

float *p=new float (3.14159); //开辟一个存放单精度数的空间,并指定该实数的初值为//3.14159,将返回的该空间的地址赋给指针变量p

3、newdelete 运算符使用的一般格式为:

使用方法:
指针变量= new 类型(常量);//变量及为其赋值
指针变量= new 类型[表达式]; //数组
指针变量= new 类型[表达式][表达式] ;//二维数组

作用: 从堆上分配一块“类型”指定大小的存储空间,返回首地址
其中:
“常量”是初始化值,可缺省
创建数组对象时,不能为对象指定初始值

delete 运算符释放已分配的内存空间:
使用方式:
普通类型(非数组)使用: delete 指针变量
数组使用: delete[] 指针变量
其中“指针变量” 必须是一个new 返回的指针!

4、基础数据类型可以使用new与freemalloc和delete混搭

假设分配内存并进行初始化:
int * p2 = new int(1000);

delete p2;同于free(pa);

内存泄露?

内存泄漏(Memory Leak) , 是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。

内存泄漏检测方法

内存泄漏工具:
Windows : Purify,BoundsCheaker、Deleaker、VisualLeak Detector(VLD)
Linux 平台:Valgrind memcheck

http://www.tj-hxxt.cn/news/70541.html

相关文章:

  • 网站标题分隔符号seo网站分析
  • 邯郸互联网公司北京网络seo推广公司
  • 网站设计与制作是什么专业重庆可靠的关键词优化研发
  • 网站模板的功能百度收录api怎么提交
  • wordpress代码恢复旧编辑器seo求职
  • 会展设计说明百度seo关键词优化排行
  • 做赌博网站代理赚钱吗搜索引擎公司排名
  • 深圳网站建设费用石家庄高级seo经理
  • 怎么为自己做的网站申请域名青岛设计优化公司
  • 外贸怎么用网站开发新客户link友情买卖
  • 做企业营销网站谷歌play商店官网
  • 做网店的网站企业培训课程视频
  • 网站图片悬浮代码app如何推广
  • 浙江和海建设集团网站网络营销是做什么的工作
  • 百度做的网站 后台管理怎么进入山东免费网络推广工具
  • 经典网站模板郑州网站关键词排名技术代理
  • 中国网站开发的前景吴忠seo
  • 做淘客网站要备案2022年十大流行语
  • 石家庄网站定制开发网站宣传方法
  • 海口网上房地产西青seo
  • 高端电商网站开发专业网站优化
  • wordpress玻璃透主题重庆seo网络优化咨询热线
  • 罗湖附近公司做网站建设哪家服务周到知名品牌营销策略
  • 网站群系统破解版北京网站seo优化推广
  • 网站设计与建设word设计理念沈阳seo关键词排名
  • 程序员接活的平台网站域名注册查询入口
  • 阅读网站怎样做怎么开发一个网站
  • 婚庆公司网站建设总结报告做一个网站需要多少钱大概
  • 电子商务网站规划流程外贸b2b平台都有哪些网站
  • 民治做网站的公司百度人工