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

网站首页代码怎么做新闻专业为啥学网页制作

网站首页代码怎么做,新闻专业为啥学网页制作,网页加速器pc,网站开发部门的规章制度C/C中内存的开辟 在C中#xff0c;我们都知道有三个区#xff1a; 1. 栈区#xff08;stack#xff09;#xff1a;在执行函数时#xff0c;函数内局部变量的存储单元都可以在栈上创建#xff0c;函数执行结 束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指…C/C中内存的开辟 在C中我们都知道有三个区        1. 栈区stack在执行函数时函数内局部变量的存储单元都可以在栈上创建函数执行结 束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中效率很高但是 分配的内存容量有限。 栈区主要存放运行函数而分配的局部变量、函数参数、返回数据、返 回地址等。        2. 堆区heap一般由程序员分配释放 若程序员不释放程序结束时可能由OS回收 。分 配方式类似于链表。        3.静态区全局区static存放全局变量、静态数据。程序结束后由系统释放。 但是其实要更加细分区域可以分为 C/C程序内存分配的几个区域          1. 栈区stack在执行函数时函数内局部变量的存储单元都可以在栈上创建函数执行结 束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中效率很高但是 分配的内存容量有限。 栈区主要存放运行函数而分配的局部变量、函数参数、返回数据、返 回地址等。          2. 堆区heap一般由程序员分配释放 若程序员不释放程序结束时可能由OS回收 。分 配方式类似于链表。         3. 数据段静态区static存放全局变量、静态数据。程序结束后由系统释放。         4. 代码段存放函数体类成员函数和全局函数的二进制代码。 实际上普通的局部变量是在栈区分配空间的栈区的特点是在上面创建的变量出了作用域就销毁。 但是被static修饰的变量存放在数据段静态区数据段的特点是在上面创建的变量直到程序 结束才销毁 所以生命周期变长。 柔性数组         柔性数组大家可能都没听说过但是它是真实存在的前面介绍过结构体的大小应该怎么去计算这里涉及到大小的计算 例如 #includestdio.h typedef struct pc {char a;int b;int arr[]; }pc; int main() {printf(%d, sizeof(pc));return 0; } 这组代码的结果应该是什么 前面介绍了结构体大小的计算 例如 #includestdio.h typedef struct pc {char a;int b; }pc; int main() {printf(%d, sizeof(pc));return 0; } 他的大小是 大小是8个字节。 这两组代码答案都是8第一组代码加上了一个大小未知的整型数组结果和没有加是一样的 此时在结构体中大小未知的数组就被称之为柔性数组 那么柔性数组的大小究竟是多少呢 柔性数组的特点 结构中的柔性数组成员前面必须至少一个其他成员。 sizeof 返回的这种结构大小不包括柔性数组的内存。 包含柔性数组成员的结构用malloc ()函数进行内存的动态分配并且分配的内存应该大于结构的大 小以适应柔性数组的预期大小。 先用图来讲解                 假设我要开辟20个字节这20个字节有8个字节是除去数组arr结构体的大小 剩下的12个字节都会留给arr数组所以arr数组的大小为12个字节 综上arr数组的大小可以自己改变。 代码如下          #includestdio.h #includestdlib.h typedef struct pc {char a;int b;int arr[]; }pc;int main() {pc* ptr ( pc*)malloc(sizeof(pc) 12);if (ptr NULL){perror(malloc);return 1;}return 0; } 当然结构体我们也可以这样写不用柔性数组 int main() {pc* ptr (pc*)malloc(sizeof(pc) 12);if (ptr NULL){perror(malloc1);return 1;}ptr-arr malloc(12);if (ptr-arr NULL){perror(malloc2);return 1;}int* pr (int*)realloc(ptr-arr, 8);if (pr ! NULL){ptr-arr pr;;}else{perror(realloc);return 1;}free(ptr);ptr NULL;free(pr);pr NULL;return 0; } 这个效果和柔性数组的效果是一样的 那么柔性数组的好处在哪 第一个好处是方便内存释放 如果我们的代码是在一个给别人用的函数中你在里面做了二次内存分配并把整个结构体返回给 用户。用户调用free可以释放结构体但是用户并不知道这个结构体内的成员也需要free所以你 不能指望用户来发现这个事。所以如果我们把结构体的内存以及其成员要的内存一次性分配好 了并返回给用户一个结构体指针用户做一次free就可以把所有的内存也给释放掉。 第二个好处是这样有利于访问速度. 连续的内存有益于提高访问速度也有益于减少内存碎片。其实我个人觉得也没多高了反正 你跑不了要用做偏移量的加法来寻址
http://www.hkea.cn/news/14520410/

相关文章:

  • 做网站费用怎么付做网站 支付账号免费吗
  • 南宁网站建设哪家网站建设实习任务完成情况
  • 宁波网站制作流程临沂企业建站模板
  • 赣州网站建设效果手机优化大师官方免费下载
  • 茶社网站开发与设计的开题报告python做网站验证码
  • 百度xml网站地图设计方案
  • 网站建设昆山花桥怎么制作一个最简单的网站
  • 深圳网站开发ucreator全国互联网安全管理服务平台
  • 免费网站设计网站容桂品牌网站建设
  • 管理软件erpseo网站推广简历
  • 5173网站源码9个不需要门面的生意
  • 食品网站建设规划荆州做网站哪家好
  • 2019年新电商法做网站wordpress 封装api
  • 个人网站建设 毕业设计什么是电子商务?
  • 自己设计logo网站邯郸信息港征婚
  • app商城系统优化推广网站淄博
  • 成都网站建设中心互联网广告联盟
  • 好的网站推荐湖南彩票网站开发
  • 广州番禺专业建网站冯站长之家
  • 域名不转出可以做网站吗实体企业做网站好么
  • 网站建设分为哪几个阶段安全文化建设示范企业
  • 自己做网站都要什么手续汕头站扩建效果图
  • 有哪些免费的ppt模板下载网站互联网域名交易中心
  • 腾讯wordpress 建站教程我们的优势的网站
  • 免费建站团队张家港设计网站
  • 如何把做的网站放到百度上wordpress获取菜单栏
  • 广州做网站哪家好公司零基础做网站教程
  • 做鞋设备网站太原网站建设设计
  • 广州网站建设商城有哪些网站可以免费发布广告
  • 企业网站一般要素中国企业信息公示网登录