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

网站怎么找开发公司吗百度浏览器官网

网站怎么找开发公司吗,百度浏览器官网,比较好的网站建设论坛,温州最便宜网站建设内存分配 内存分配的类型 C/C中内存分为5个区#xff0c;分别为栈区、堆区、全局/静态存储区、常量存储区、代码区 静态内存分配#xff1a;编译时分配#xff0c;包括全局、静态全局、静态局部三种变量。 动态内存分配#xff1a;运行时分配#xff0c;包括栈#x…内存分配 内存分配的类型 C/C中内存分为5个区分别为栈区、堆区、全局/静态存储区、常量存储区、代码区 静态内存分配编译时分配包括全局、静态全局、静态局部三种变量。 动态内存分配运行时分配包括栈局部变量堆c语言中用到的变量被动态的分配在内存中。 变量的内存分配 栈区 介绍 栈区由编译器自动分配释放由操作系统自动管理无须手动管理。栈区上的内容只在函数范围内存在当函数运行结束这些内容也会自动被销毁。栈区按内存地址由高到低方向生长其最大大小由编译时确定速度快但自由性差最大空间不大。栈区是先进后出原则即先进去的被堵在屋里的最里面后进去的在门口释放的时候门口的先出去。 存放内容 临时创建的局部变量和const定义的局部变量存放在栈区。函数调用和返回时其入口参数和返回值存放在栈区。 堆区 介绍 堆区由程序员分配内存和释放。堆区按内存地址由低到高方向生长其大小由系统内存/虚拟内存上限决定速度较慢但自由性大可用空间大。 全局/静态区 通常是用于那些在编译期间就能确定存储大小的变量的存储区但它用于的是在整个程序运行期间都可见的全局变量和静态变量。全局区有 .bss段 和 .data段组成可读可写。 .bss段 未初始化的全局变量和未初始化的静态变量存放在 .bss 段。初始化为 0 的全局变量和初始化为0的静态变量存放在 .bss 段。.bss 段不占用可执行文件空间其内容由操作系统初始化。 .data段 已初始化的全局变量存放在 .data 段。已初始化的静态变量存放在 .data 段。.data 段占用可执行文件空间其内容有程序初始化。 常量区 字符串、数字等常量存放在常量区。const修饰的全局变量存放在常量区。程序运行期间常量区的内容不可以被修改。 代码区 程序执行代码存放在代码区其值不能修改若修改则会出现错误。字符串常量和define定义的常量也有可能存放在代码区。 栈区和堆区的比较 申请方式 栈由编译器管理堆的分配和释放由程序员管理。 申请大小 栈是向低地址生长的数据结构是一块连续的内存能从栈中获得的内存较小编译期间确定大小堆是向高地址生长的数据结构是一个不连续的储存空间内存获取比较灵活也较大。 栈与堆中的储存内容 栈在函数调用时第一个进栈的是主函数中的最后一条指令的地址然后是函数的各个参数在大多 数的c编译器中参数是由右往左入栈的然后是函数中的局部变量静态变量是不入栈的当本次函数调用结束后局部变量先出栈然后是参数最后栈顶指针指向最开始存的地址也就是主函数中的下一条指令程序由该点开始运行 堆一般是在堆的头部用一个字节存放堆的大小堆中的具体内容由程序员安排。 动态内存分配 malloc 函数 头文件 stdlib.h或malloc.h 函数原型 void* malloc(int size) 功能 分配长度为 size 字节的内存块 参数 只有一个参数并且是整型 返回值 分配成功返回指向被分配内存的指针否则返回空指针 NULL 返回值类型 void* 在 C 语言中void* 可以不经转换直接赋值给任何类型的指针变量函数指针变量除外 calloc 函数 头文件 stdlib.h或malloc.h 函数原型 void* calloc(int n,int size) 功能 分配 n 个长度为 size 字节的连续空间 返回值 分配成功返回指向分配起始地址的指针否则返回空指针 NULL realloc 函数 头文件 stdlib.h或malloc.h 函数原型 void* realloc(void* mem_address,int newsize) 功能 1.为已有内存的变量重新分配新的内存空间(可大、可小) ; 2.先判断当前的指针是否有足够的连续空间如果有扩大 mem_address 指向的地址并且将 mem_ address 返回 3.如果空间不够先按照newsize指定的大小分配空间将原有数据从头到尾拷贝到新分配的内存区域而后释放原来 mem_address 所指内存区域注意原来指针是自动释放不需要使用 free同时返回新分配的内存区域的首地址。即重新分配存储器块的地址。 返回值 分配成功返回 mem_address 所指的内存区域否则返回空指针 NULL free 函数 动态分配的内存空间由程序员手动编程释放。 C 语言中free 和 malloc、calloc、realloc 是成对出现的有多少个 malloc就应该有多少个 free 。 若 malloc、calloc、realloc 的个数比 free 多会造成内存泄漏若 malloc、calloc、realloc 的个数比 free 少会造成二次删除破坏内存导致程序崩溃。 头文件 stdlib.h 函数声明 void free(void* ptr) 功能 释放之前调用 calloc、malloc 或 realloc 所分配的内存空间 参数 指针指向一个要释放内存的内存块该内存块之前是通过调用 malloc、calloc 或 realloc 进行分配内存的。如果传递的参数是一个空指针则不会执行任何动作。 返回值 不返回任何值
http://www.pierceye.com/news/461737/

相关文章:

  • 古建设工程造价管理协会网站小程序引流推广平台
  • 网站域名缴费十年外贸建设企业网站服务
  • 游戏网站外链建设网站开发项目的需求分析
  • 确定网站的主题与风格东营市建设项目工伤保险是哪个网站
  • 如何做一张网站平面效果图装宽带需要多少钱
  • 什么网站能让小孩做算术题厦门住房和城乡建设局网站
  • 网站上线过程建设网站什么费用
  • 企业网站域名在哪申请成都广告公司
  • 手机页面网站模板怎么卖宁波网站建设优化找哪家
  • 深圳网站外包公司注册公司流程和费用找哪家
  • 专业新站整站快速排名公司商业网站和企业网站的区别
  • 网站做等保备案河北建设厅网站登陆怎么找附件
  • 网站前台显示数据库指定分类怎么做php优化大师官方免费
  • 用ps软件做ppt模板下载网站c2c网站开发策划
  • 标志空间 网站tk域名网站多少
  • dedecms网站地图插件永康公司网站开发
  • 比较网站建设有没有学做ppt发网站或论坛
  • 用asp做网站流程做科研找论文的网站
  • 新浪网站怎么做推广广告网站模板下载不了
  • 微网站建设哪家优惠h5小游戏在线玩
  • 娄底高端网站建设网站建设费计入 科目
  • 免费企业网站程序上传wordpress 卸载
  • 大庆市建设局网站上不去linux删除WordPress
  • 宣城市建设监督管理局网站下载怎么上wordpress
  • 福州做网站fjfzwl编写软件开发文档
  • 平台设计网站公司电话号码建站哪家好用兴田德润
  • 宝安网站建设信科免费网站开发 自动填写表单
  • 网站怎么更新文章动漫网站在线免费观看
  • 织梦 网站迁移网页制作三剑客通常指
  • 南京本地网站建站武安百度seo