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

盘锦企业网站建设中山网络推广

盘锦企业网站建设,中山网络推广,网络营销是一种什么专业,东莞想做网站找什么公司内存管理 C与C的内存分布C语言中动态内存管理方式回顾C内存管理的方式 C与C的内存分布 我们学习C语言时就知道,储存不同的变量计算机会相应分配不同区块的内存。那为什么要把内存化为不同的区域呢?实质上是为了方便管理 下面我们来看看下面一道例题&…

内存管理

  • C与C++的内存分布
  • C语言中动态内存管理方式回顾
  • C++内存管理的方式

C与C++的内存分布

我们学习C语言时就知道,储存不同的变量计算机会相应分配不同区块的内存。那为什么要把内存化为不同的区域呢?实质上是为了方便管理
下面我们来看看下面一道例题,看看C语言阶段的内存管理学习的怎么样?

int globalVar = 1;
static int staticGlobalVar = 1;
void Test()
{
static int staticVar = 1;
int localVar = 1;
int num1[10] = { 1, 2, 3, 4 };
char char2[] = "abcd";
const char* pChar3 = "abcd";
int* ptr1 = (int*)malloc(sizeof(int) * 4);
int* ptr2 = (int*)calloc(4, sizeof(int));
int* ptr3 = (int*)realloc(ptr2, sizeof(int) * 4);
free(ptr1);
free(ptr3);
}

题目
选项: A.栈 B.堆 C.数据段(静态区) D.代码段(常量区)
globalVar在哪里?____ staticGlobalVar在哪里?____
staticVar在哪里?____ localVar在哪里?____
num1 在哪里?____

char2在哪里?____ *char2在哪里?___ pChar3在哪里?____
*pChar3在哪里?____ ptr1在哪里?____ *ptr1在哪里?____

要解决这个问题,我们不妨先来回顾一下C\C++的内存分布:
在这里插入图片描述
栈:向下增长;且储存局部变量、函数的参数、返回值等等。
堆:向上生长;主要是动态开辟的内存,用完需要用户自己销毁的空间,因此这一块空间需要我们重点关注
数据段(静态区):主要储存全局变量与静态变量
代码段(常量区):主要储存可执行代码与常量。
有了这样的认识那题目自然也就会做了
在这里插入图片描述
因此题目答案:CCCAA /AAADAB

C语言中动态内存管理方式回顾

1.malloc/calloc/realloc的区别
(1) malloc与realloc、calloc的参数不同
(2) malloc只能用于开辟空间,calloc与realloc可用于开辟空间与扩容
(3) calloc除了开辟空间与扩容还有初始化的作用

C++内存管理的方式

C语言开辟空间的函数在C++中依然可以适用,但C++也有自己分配空间的函数:new与delete

语法规则:
需要开辟一个int大小的空间
int* p = new int;
如需要开辟存十个int类型的数组:
int* p1 = new int[10];
销毁空间
delete p;
delete[] p1;

我们发现相比于C语言开辟空间变得更加简洁了,那他的好处只有这一个吗?
不,除了变得更简洁之外,new还有诸多好处
1.new还能很好地控制初始化。如

int* p2 =new int(10);//表示new一个int控件将该控件初始化为10
int* p3 =new int[10]{1,2,3,4,5};//表示new十个int空间并将前五个初始化为大括号内的值

在这里插入图片描述
既然new能控制初始化,自定义类型该怎么处理呢?
2.new对于自定义类型会开空间后调用其构造函数;与此同时delete也会调用相应的析构函数
例如:创建链表节点:
C语言实现如下:
在这里插入图片描述
C++实现如下:在这里插入图片描述
以上的对比大家是不是对new与delete有了新的认知,它确实是十分的方便,因为它与类和对象的特点进行了有机的结合,以后我们开辟空间首选肯定就为new了,
3.new开辟失败后,不需要我们像malloc那样手动检查,它能够直接抛异常

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

相关文章:

  • 虚拟主机可以建设网站吗怎么自建一个网站
  • 美食网站中饮食资讯该怎么做宁波建网站选哪家好点
  • 襄阳网站建设的公司建设企业门户网站
  • 服务器做的网站怎么使用教程网站建设国内外研究现况
  • 做本地团购网站怎么样网站建设用啥系统好
  • 手机做炫光图头像的网站昆明网站建站公司
  • 网站开发需要懂哪些北京家居网站建设
  • 深圳制作网站公司哪里好永州市建设工程质量安全监督站官方网站
  • 网站建设在哪软件开发公司照片
  • 最简单的建个人网站我想做个旅游网站怎么做
  • 网站建设模板系统电子商务运营是做什么的
  • 台州网站建设方案咨询长沙网站制作教程
  • 网站建设c云世家网络网站为何站长统计
  • iis网站目录权限建设网站应注意些什么
  • 蚌埠市建设管理局官方网站线上运营方案
  • 网站建设服务报价关于医院网站建设的通知
  • 电子网站建设心得温州网站制作系统
  • 天津网站网站建设wordpress投稿上传图片
  • 宁波网络建站红酒网站页面设计总结
  • 用dw软件做网站栅格系统wordpress 已登录用户登录
  • oa连接到网站的链接怎么做网站要挂工商标识怎么做
  • 加盟类网站怎么做网站开发 数据库
  • 中国建设银行黄陂支行网站维护网站的职位叫什么
  • 成都网站建设思乐科技公司怎么创业做电商
  • 有道 wordpress班级优化大师使用心得
  • 建筑建材网站设计费用单位门户网站
  • 华为手机开发者选项在哪里seo方式包括
  • pos机网站建设方案网络规划与设计心得体会
  • 沈阳做微网站的公司万润 营销型网站建设
  • 网站产品内页设计深圳网站制作公司兴田德润怎么样