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

大连网站建设信息logo制作软件手机免费版

大连网站建设信息,logo制作软件手机免费版,广州活动策划公司十大排行榜,计算机网站开发开题报告范文Hello!!大家早上中午晚上好!!!今天我们来复习C/C的内存管理部分!!! 一、做几个题测试对内存分布的掌握 答案: 1.1说明: 栈区用来存放非静态局部变量、函数参…

Hello!!大家早上中午晚上好!!!今天我们来复习C/C++的内存管理部分!!!

一、做几个题测试对内存分布的掌握

答案:

1.1说明:

栈区用来存放非静态局部变量、函数参数、返回值等,栈区是向下增长的;

堆区用来存放程序运行时动态内存分配,栈区是向上增长的;

数据段也叫(静态区),用来存放全局数据、静态数据;

代码段也叫(常量区),用来存放可执行代码、只读常量;

内存映射段用来做进程间通信;

二、malloc、calloc、realloc的区别

2.1malloc向系统申请字节数大小的空间,申请成功返回申请好的空间的地址,申请失败返回NULL;
int main()
{int* p1 = (int*)malloc(sizeof(int));//申请一个int大小的空间if(p1==NULL)//如果申请失败返回空{perror("malloc error!!");return 0;}*p1=10;int* p2 = (int*)malloc(20);//申请20字节大小的空间if (p2==NULL){perror("malloc error!!!");return 0;}*(p2+1)=10;free(p1);p1=NULL;free(p2);p2=NULL;return 0;
}

2.2calloc用来申请内存并初始化
int main()
{int* p1 = (int*)calloc(10,sizeof(int));if (p1 == NULL){perror("calloc error!!!");return 0;}int* p2 = (int*)calloc(4, 5);if (p2 == NULL){perror("calloc error!!!");return 0;}free(p1);p1 = NULL;free(p2);p2 = NULL;return 0;
}

   calloc函数原型:void*calloc(size_t num,size_t size);calloc的用法:申请开辟num个内存大小为size字节的空间并初始化0,如果申请失败返回NULL,如果申请成功返回开辟好的空间的地址;

2.3realloc

realloc 函数原型: void * realloc(void* ptr,size_t size);

简单演示:


int main()
{int* p1 = (int*)malloc(sizeof(int) * 10);//开10个int大小空间if (p1 == NULL){perror("malloc error!!!");return 0;}//给这个10个空间从0开始赋值,并打印int* start1 = p1;for (int i = 0; i < 10; i++){*p1 = i;p1++;}p1 = start1;for (int i = 0; i < 10; i++){cout << *p1 << " ";++p1;}cout << endl;//把p1指向空间再扩容10个int大小p1 = start1;int* p2 =(int*) realloc(p1, sizeof(int) * 20);if (p2 == NULL){perror("realloc error!!!");free(p1);//如果扩容失败释放旧地址p1 = NULL;return 0;}//扩容成功//扩容成功有两种可能:1、原地扩 2、原地空间不够异地扩,把旧地址空间内容拷贝过来并释放旧空间p1 = p2;  //避免对旧地址的访问,把旧指针也指向新地址int* start2 = p2 + 10; //从新空间的第11个int开始赋值,并打印for (int i = 0; i < 10; i++){*start2 = i;++start2;}for (int i = 0; i < 20; i++){cout << *p1 << " ";p1++;}cout << endl;return 0;
}

运行:

注意:

①realloc必须在malloc、calloc、realloc出来的空间上进行调整;

②当realloc的第一个参数(需要调整的空间的地址)为NULL时,realloc相当于malloc;

③当realloc的第二个参数(需要调整的空间大小)为0时,realloc相当于free(ptr);

	
int main()
{
int* ptr1 = (int*)malloc(sizeof(int) * 5);if (ptr1 == NULL){perror("malloc error!!!");return 0;}int* cur1 = ptr1;for (int i = 0; i < 5; i++){*cur1 = i;cout << *cur1;++cur1;}cout << endl;int* ptr2 = (int*)realloc(ptr1, 0);
if(ptr2==NULL)
{perror("realloc error!!!");
}for (int i = 0; i < 5; i++){cout << *ptr1<<" ";//对已释放空间的访问!!ptr1++;}return 0;
}

运行:


文章转载自:

http://r5K3k9Mf.kpzbf.cn
http://iKJhAAwX.kpzbf.cn
http://TqCKOLey.kpzbf.cn
http://UyKoZypW.kpzbf.cn
http://KOjEETjF.kpzbf.cn
http://6QhVHItD.kpzbf.cn
http://rO0t0ex7.kpzbf.cn
http://WtaU5HAa.kpzbf.cn
http://K982Nonr.kpzbf.cn
http://cSCBGIb5.kpzbf.cn
http://KwjqOcGQ.kpzbf.cn
http://3ncxKlnF.kpzbf.cn
http://BsvFjiAC.kpzbf.cn
http://ph5KQwQ1.kpzbf.cn
http://0w5qrqAG.kpzbf.cn
http://D2snlfPg.kpzbf.cn
http://S9wvdq9E.kpzbf.cn
http://pm3leav6.kpzbf.cn
http://voSbqjSK.kpzbf.cn
http://qYGLKC0e.kpzbf.cn
http://TGVKyQPP.kpzbf.cn
http://b6qGad7h.kpzbf.cn
http://vn1GoLsr.kpzbf.cn
http://CCU1m03l.kpzbf.cn
http://XrjGJf7m.kpzbf.cn
http://lDGlec50.kpzbf.cn
http://MAYg83rB.kpzbf.cn
http://n0ciO5Ky.kpzbf.cn
http://PIuthCxH.kpzbf.cn
http://EmrN5NJG.kpzbf.cn
http://www.dtcms.com/wzjs/622102.html

相关文章:

  • 郑州网站建设亻汉狮网络在线网站代码生成
  • 网站建设 天佩营销wordpress网站提速
  • 西宁网站托管宁波网站建设公司推荐哪家
  • 网站调整方案seo研究中心怎么了
  • 房产经济人怎么做网站网站网址查询ip
  • 找网络公司做网站需要注意什么湖州住房和城乡建设局网站
  • 餐饮加盟手机网站建设虚拟主机可以做视频视频网站吗
  • 建网站域名怎么买网站建设需求调研通知
  • 河南企业网站制作2023年推广网站
  • 注册网站流程学习网站建设要报班吗
  • 北京网站建设课程培训国外哪个网站做服装
  • 现在建网站可以拖拉式的吗坑梓网站建设基本流程
  • 微网站制作成都网站优化指导
  • 宁波led网站建设西安市住房和城乡建设局
  • 网站如何在工信部备案seo助力网站转化率提升
  • 网上做论文的网站有哪些国内新闻最新消息2022
  • 遵义网站建设服务百度竞价推广联系方式
  • 网站板块设计极品wordpress素材教程网站
  • 用PS做的个人网站图片网站建设公司yu
  • 做网站去哪里下载素材网站需求定制表单
  • 做网站包括备案吗网页设计报告心得
  • 种子汤唯梁朝伟做视频网站人才市场网站建设论文
  • 网站模版化配置做app_需要先做网站吗
  • 屏蔽阿里云网站吗学校网站素材
  • 做动态图的网站赣州城乡建设局网站
  • 网站建设要符合哪些标准成都在线制作网站
  • 在哪了做网站wordpress 二次开教程
  • 服务流程企业网站企业网站样板制作
  • 四川旅游seo整站优化网站备案免费的吗
  • 镇江住房建设网站哪个合肥seo好