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

育婴网站模板公司建官网要多少钱

育婴网站模板,公司建官网要多少钱,百度公司官方网站,旺道seo推广系统怎么收费点击蓝字关注我们来源于网络#xff0c;侵删1.C/C内存分布虚拟地址空间分布#xff1a;由C/C编译的程序占用的内存分为以下几个部分#xff1a;栈区#xff08;stack#xff09;— 由编译器自动分配释放 #xff0c;存放为运行函数而分配的局部变量、函数参数、返回数据、…点击蓝字关注我们来源于网络侵删1.C/C内存分布虚拟地址空间分布由C/C编译的程序占用的内存分为以下几个部分栈区stack— 由编译器自动分配释放 存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。其操作方式类似于数据结构中的栈。堆区heap — 一般由程序员分配释放 若程序员不释放程序结束 时可能由OS回收 。分配方式类似于链表。全局区静态区static—存放全局变量、静态数据、常量。程序结束后由系统释放。文字常量区 —常量字符串就是放在这里的。程序结束后由系统释放。程序代码区—存放函数体类成员函数和全局函数的二进制代码。这里主要讲C/C在堆上的动态分配方式。2.C语言动态内存分配申请内存malloc、calloc、realloc。释放内存free。 1mallocvoid *malloc(unsigned int size)开辟一块长度为size的连续内存空间返回类型为void类型的指针。在使用malloc开辟一段空间时void*要显示的转换为所需要的类型如果开辟失败则返回NULL指针。2callocvoid* calloc (size_t num, size_t size)开辟一块num个大小为size的连续空间并将每一块空间初始化为0。3reallocvoid *realloc(void *ptr,size_t size)将内存地址为ptr的一段空间的大小调整为size大小。如果ptr这段空间后面有足够的空间就直接追加上来如果ptr后面的空间不足则在堆上重新开辟一块合适大小的连续空间将原有数据拷贝到新的内存空间中释放掉原来的内存最后返回的则是新地址。4freevoid free (void* ptr)free函数是来释放动态开辟的内存的。malloc和free要配套使用如果没有free则会造成内存泄漏。3.C语言动态内存代码示例#include stdio.hint a 0; //a在全局已初始化数据区 char *p1; //p1在bss段未初始化全局变量 int main() {int b; //b在栈区char s[] abc; //s为数组变量内容存储在栈区char *p1p2; //p1、p2在栈区char *p3 123456; //123456\0是字符串常量而p3在栈区 static int c 0//C为静态数据存在于已初始化数据区另外静态数据会自动初始化p1 (char*)malloc(10); //分配得来的10个字节的区域在堆区p2 (char*)malloc(20); //分配得来的20个字节的区域在堆区free(p1);free(p2);return 0; }4.C动态内存分配申请内存new。释放内存delete。1newnew做的事调用operator new分配空间调用构造函数初始化空间//正确申请 Obj *objects new Obj[100]; // 创建100个动态对象 //错误申请 Obj *objects  new Obj[100](1);// 创建100个动态对象的同时赋初值1operator new/* operator new该函数实际通过malloc来申请空间当malloc申请空间成功时直接返回申请空间失败 尝试执行空 间不足应对措施如果改应对措施用户设置了则继续申请否则抛异常。 */ void *__CRTDECL operator new(size_t size) _THROW1(_STD bad_alloc) {// try to allocate size bytesvoid *p;while ((p malloc(size)) 0)if (_callnewh(size) 0) { // report no memory // 如果申请内存失败了这里会抛出bad_alloc 类型异常 static const std::bad_alloc nomem;_RAISE(nomem); }return (p); }2deletedelete做的事调用析构函数清理对象调用operator delete释放空间// 正确的用法 delete []objects; // 错误的用法 delete objects; //相当于 delete objects[0]漏掉了另外 99 个对象。operator delete/* operator delete: 该函数最终是通过free来释放空间的 */ void operator delete(void *pUserData) {_CrtMemBlockHeader * pHead;RTCCALLBACK(_RTC_Free_hook, (pUserData, 0));if (pUserData NULL)return;_mlock(_HEAP_LOCK); /* block other threads */__TRY/* get a pointer to memory block header */pHead pHdr(pUserData);/* verify block type */_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead-nBlockUse));_free_dbg( pUserData, pHead-nBlockUse );__FINALLY_munlock(_HEAP_LOCK); /* release other threads */__END_TRY_FINALLYreturn; }5.C动态内存代码示例int a 0; //全局初始化区 char *p1; //全局未初始化区int main() { int b; //栈 char s[] /abc/; //栈 char *p2; //栈 char *p3 /123456/; //123456//0在常量区p3在栈上。 static int c 0;//全局静态初始化区 p1 new char[10]; p2 new char[20]; //分配得来得和字节的区域就在堆区。 }6.new/delete和malloc/free的异同相同点new、delete、malloc、free 都是从堆上开辟空间并且需要用户手动释放。不同点new和delete是操作符malloc和free是函数。malloc申请空间不会进行初始化new申请空间可以初始化。malloc申请空间失败返回NULLnew申请空间失败会抛出异常。针对自定义类型new和delete会自动调用构造函数和析构函数处理。有了malloc/free为什么还要new/delete?new运算不需要进行强制类型转换使用简单方便new运算是通过调用构造函数初始化动态创建的对象执行效率更高使用new能够进行异常处理使用更安全7.动态内存常见问题–内存泄露程序执行中依据须要分配通过malloc / calloc / realloc / new等从堆中分配的一块内存,用完后必须通过调用相应的 free或者delete 删掉。假设程序的设计错误导致这部分内存没有被释放那么以后这部分空间将无法再被使用就会产生堆内存泄漏。假设程序的设计错误导致这部分内存没有被释放那么以后这部分空间将无法再被使用就会产生Heap Leak。1内存泄漏有什么危害长期运行的程序出现内存泄漏影响很大如操作系统、后台服务等等出现内存泄漏会导致响应越来越慢最终卡死。2如何避免内存泄漏工程前期良好的设计规范养成良好的编码规范申请的内存空间记着匹配的去释放.采用RAII思想或者智能指针来管理资源。使用内存泄漏工具检测。如果你年满18周岁以上又觉得学【C语言】太难想尝试其他编程语言那么我推荐你学Python现有价值499元Python零基础课程限时免费领取限10个名额▲扫描二维码-免费领取戳“阅读原文”我们一起进步
http://www.sadfv.cn/news/239195/

相关文章:

  • 大良营销网站建设特色汕头百姓网
  • 装饰公司简介内容广西优化网站
  • 网站群建设的目的意义广告公司网站首页
  • 仙居网站建设wordpress博客主题源码
  • 免费搭建贴吧系统网站做网站需要注意的点
  • 承德网站建设方案推广seo公司
  • 盐都城乡建设部网站首页苏州网站建设及推广
  • 人和动物做的网站做图字体网站
  • 广西来宾网站网站建设wordpress 不能拖动了
  • 网站建设有发展吗广元建设工程网站
  • 莲塘网站建设学做网站的书籍
  • wordpress模板 站长医疗器械网上商城
  • 自己网站页面设计软件微软做网站
  • 自己如何做网站源码什么网站是php做的
  • 专注聊城做网站的公司广西机场建设公司
  • 长沙营销型网站建设费用深圳百度关键字优化
  • 不通过第三方平台做微网站网站服务器类型查询
  • 延吉哪家网站建设公司好wordpress网站慢
  • 南阳专业网站制作费用wordpress 快站
  • 使用网站模板快速建站教案企业内部网站打不开
  • 新网 主办网站已备案外贸网站建设预算
  • 德宏北京网站建设怎样找到网站建设设置模板
  • 网站开发技术有网站软件开发招聘
  • 郑州网站制作多少钱护肤品网站优化案例
  • 商城网站开发解决方案宁波seo网站排名优化公司
  • 白鹭引擎做网站深圳网站建设优化czzhwm
  • flash国外网站进出口外贸公司名字
  • 网站域名备案注册证书怎么做返利网站
  • 青田县住房和城乡规划建设局网站有的网站为什么打不开怎么回事
  • 中山建设厅网站广州市区号