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

如何做单网页网站水墨网站设计欣赏

如何做单网页网站,水墨网站设计欣赏,软件开发专业适合女生吗,网站规划与制作内存处理函数 内存申请函数(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.zqtcl.cn/news/908883/

相关文章:

  • 网站建设会遇到哪些难题安阳网站如何做优化
  • 哈德网站建设使用wordpress创建企业官网
  • 新品销售网站建设建设银行网站怎么登陆密码
  • 外贸营销主题怎么写seo薪资
  • 手机音乐网站源码关键路径
  • 网站制作哪些官方静态网站模板
  • 网站开发seo网站排名优化服务
  • 佛山营销网站开发帝国cms网站公告怎么做
  • 2_试列出网站开发建设的步骤在哪里进行网站域名的实名认证
  • 个人网站做博客还是做论坛网络服务推广
  • 遵义网站制作小程序辛集做网站
  • 做逆战网站的名字吗网站维护员
  • 浏览器收录网站重庆网上房地产网
  • 门户网站建设哪专业wordpress爆破密码字典
  • 响应式网站的制作app开发公司加盟
  • 建设部安全事故通报网站sem是什么分析方法
  • 北京网站制作出名 乐云践新手机建站专家
  • 做机械有什么兼职网站安徽网站优化怎么做
  • 网站建设规划semir是什么品牌
  • 网站建设开发环境自学服装设计下载
  • 南京网站建设公司哪家好设计教程网站有哪些
  • 网页和网站做哪个好用吗陕西陕煤建设集团有限公司网站
  • 网站建设系统优势设计欣赏
  • 河北省网站建设东莞网站开发哪家好
  • php做学校网站免费苏州网站建设的公司
  • 网站做rss+wordpresswordpress动漫插件
  • wordpress更新网站内容公众号制作教程
  • 复兴区建设局网站怎么解压wordpress
  • 资源网站哪个好淄博网站设计
  • 网站建设林晓东网站数据库一般多大