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

二手房网站制作教程毕业设计模板

二手房网站制作教程,毕业设计模板,wordpress 单一商品主题,时光轴 网站内存处理函数 内存申请函数(stdlib.h) malloc 原形#xff1a;void *malloc(size_t size); 功能#xff1a;用于动态分配指定大小的内存块#xff0c;分配的内存块不会被初始化#xff0c;内容是未定义的。 返回值#xff1a;若分配成功#xff0c;返回一个指向该内存块…内存处理函数 内存申请函数(stdlib.h) malloc 原形void *malloc(size_t size); 功能用于动态分配指定大小的内存块分配的内存块不会被初始化内容是未定义的。 返回值若分配成功返回一个指向该内存块起始地址的通用型(void)指针(在C中必须进行强制类型转换)。若分配失败返回空指针。 calloc 原形void *calloc(size_t num, size_t size); 功能动态分配数量为 num 每一块大小为 size 的连续内存块并将其内容初始化为0。 返回值若分配成功返回一个指向该内存块起始地址的通用型(void)指针(在C中必须进行强制类型转换)。若分配失败返回空指针。 realloc 原形void *realloc(void *ptr, size_t size); 功能重新分配之前分配的内存块的大小。 扩大内存块扩容后的新空间的内容是未定义的。 若原内存块之后的内存空间足够大则在原内存块之后进行扩展不需要分配新的内存块叫就地扩展。若原内存块之后的内存空间不足以扩展则在内存中新的位置上重新分配一块能够容纳扩容后的内存空间并将原内存块中的数据复制到新的内存空间中。继续访问原内存块会造成为定义行为(原内存块可能会被释放或者继续被保留直到某个时机释放(延迟释放)具体实现取决于编译器)。 缩小内存块直接在原内存块上进行缩小叫就地缩小。被缩小的部分为未定义行为(可能会被释放也可能等待某个时机释放(延迟释放)具体实现取决于编译器)。 返回值若重新分配成功返回一个指向该内存块起始地址的通用型(void)指针(在C中必须进行强制类型转换)。若重新分配失败返回空指针。 内存赋值函数(string.h) memset 原型void memset(void s, int c, size_t n); 功能作用于指定内存区域 s 的前 n 个字节按字节将 s 设置为指定的值 c。 返回值返回指向内存区域的指针。 注仅适用于大小为1B的存储单元的赋为任意值如char型变量(传地址!)**及其数组或其他大小的存储单元的赋值为0或-1如int型变量及其数组)否则会无法产生预期结果。 内存块比较函数(string.h) memcmp 原型int memcmp(const void *ptr1, const void *ptr2, size_t num); 功能作用域两个内存区域的前 num 个字节按字节比较。 返回值在前num个字节中若 ptr1都 ptr2 则返回一个负整数若ptr1 都 ptr2 则返回一个正整数若 ptr1 与ptr2 中有任意一个字节不相等则返回 0。 内存复制函数(string.h) memcpy 原形void *memcpy(void *dest, const void *src, size_t n); 功能作用于源内存区域src的前n个字节按字节复制到目标内存区域dest。仅适用于目标内存区域和源内存区域无重叠的情况。若有重叠则可能导致数据被覆盖或损坏。 返回值返回目标内存区域的起始地址mempcpy 原形void *mempcpy(void *dest, const void *src, size_t n); 功能与memcpy相同但返回值不同。 返回值返回目标内存区域的末尾指针memmove 原形void *memmove(void *dest, const void *src, size_t n); 功能与memcpy相同但也适用于目标内存区域和源内存区域相互重叠的情况。memmove 会先判断源内存区域与目标内存区域是否重叠若有重叠则会以一种安全的方式进行复制从而避免数据被损坏。 返回值返回目标内存区域的起始地址 内存释放函数(stdlib.h) free 原形void free(void *ptr); 功能释放之前动态申请分配的内存块(必须是动态申请的不可以用free释放静态申请的内存)释放后原内存块不再有效继续访问会导致未定义行为。程序结束后动态申请的内存是否被操作系统释放取决于操作系统内存管理机制的实现。若动态申请的内存块未通过free释放且操作系统的内存管理机制无法释放则造成内存泄露。 从内存池的角度理解动态申请内存可以帮助我们更好地管理内存资源提高内存的利用率和性能。内存池是一种预先分配一定数量内存块的技术用于存储和管理动态申请的内存。通过内存池我们可以避免频繁地调用系统的内存分配函数如 malloc()、free()从而减少内存碎片化、提高内存分配和释放的效率。 从内存池角度看动态分配内存 从内存池的角度理解动态申请内存可以分为以下几个方面 预分配内存块内存池会预先分配一定数量的内存块并将它们保存在一个数据结构中如数组、链表等。这些内存块可以是固定大小的也可以是不同大小的根据具体需求而定。 动态分配和释放当程序需要动态申请内存时可以从内存池中获取一个空闲的内存块并标记为已使用。当内存不再需要时可以将内存块标记为未使用以便后续重复利用。 减少系统调用通过内存池可以减少频繁地调用系统的内存分配函数从而减少系统调用的开销提高程序的性能。内存池会一次性地向系统申请一定数量的内存然后在程序运行过程中重复利用这些内存块。 减少内存碎片化内存池可以根据程序的实际需求来管理内存资源避免内存碎片化问题。通过内存池可以有效地管理和利用内存资源提高内存的利用率。 总之从内存池的角度理解动态申请内存可以帮助我们更好地管理和利用内存资源提高程序的性能和稳定性。通过合理设计和使用内存池可以有效地管理内存资源降低内存分配和释放的开销提高程序的效率。
http://www.pierceye.com/news/637509/

相关文章:

  • 凡科网的网站建设好用吗网站开发过程的数据交互
  • 郑州做商城网站公司开发微信小程序流程
  • 宝安电子厂做网站外包app开发多少钱
  • 箱包 东莞网站建设公司网站建设与设计制作
  • 网站如何做点击链接地址直播平台排行榜前十名
  • 万网域名指向网站wordpress 下载媒体库
  • 小店网站制作php做的网站首页是什么文件
  • i深建官方网站淮南网络营销哪家强
  • 网上网站怎么做织梦网站模块
  • 怎么新建自己的网站百度广告推广费用
  • 北京 科技网站建设上海短视频推广公司
  • 帮别人做网站哪里可以接单大型网站开发团队的美工需要什么工作经验和教育背景及薪酬
  • 网站开发工程师社交哔哩哔哩网页版入口2023在线观看
  • 凡客 网站设计wordpress也没
  • 深圳的网站建设公司排名电话外呼系统呼叫中心系统
  • 2022没封的网站免费的闵行区网站建设
  • 网站域名做入什么科目网络营销的主要内容是什么
  • 网站平面模板网站建设招标模板
  • 网站系统升级需要多久渐变网站
  • 网站建设数据库代码做煤的网站app
  • 做家电维修网站能接到单吗十大赚钱小程序
  • 手机网站表单页面制作小游戏网站审核怎么做
  • 浅谈高校门户网站建设的规范标准wordpress改变文章页宽度
  • 做网站必须得ipc支部网站建设
  • 受欢迎的医疗网站建设常德网站开发哪家好
  • 小区服务网站怎么做常州网站制作哪家好
  • 全国各大网站网站制度建设情况
  • 两学一做网站视频软文广告是什么意思
  • 网站等级保护如何做谷歌推广方案
  • 哪些网站做免费送东西的广告nas怎么做网站服务器