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

品牌网站建是啥做网站交互效果用什么软件

品牌网站建是啥,做网站交互效果用什么软件,wordpress添加ico,北京外语网站开发公司动态分配内存概述 先说数组的长度是预定义好的,固定不变的。但是呢,实际上所需的内存空间取决于实际输入的数据,而无法预先确定。所以根据实际情况,推出了内存管理函数。这些内存管理函数可以按需要动态分配内存空间,…

动态分配内存概述

  1. 先说数组的长度是预定义好的,固定不变的。但是呢,实际上所需的内存空间取决于实际输入的数据,而无法预先确定。所以根据实际情况,推出了内存管理函数。这些内存管理函数可以按需要动态分配内存空间,也可以吧不在使用的空间回收再次利用

静态分配

  1. 在程序编译或运行过程中,按事先规定大小分配内存空间的分配方式。
  2. 必须事先知道所需空间大小
  3. 分配在栈区或全局变量区,一般以数组的形式。
  4. 按计划分配

动态分配

  1. 在程序运行过程中,根据需要大小自由分配所需空间
  2. 按需分配
  3. 分配在堆区,一般使用特点的函数进行分配。

动态分配函数

stdlib.h

malloc函数

  1. 函数原型:void*malloc(unsigned int size)
  2. 功能说明:在内存的动态存储区(堆区)中分配一块长度为size字节的连续区域,用来存放类型说明符指定的类型。函数原型返回void*指针,使用时必须做相应的强制;类型转换,分配的内存空间内容不确定,一般使用memset初始化。
  3. 返回值:分配空间的起始地址(分配成功),NULL(分配失败)
  4. 在调用malloc之后,一定要判断一下,是否申请内存成功
  5. 如果多次malloc申请的内存,第一次和第二次申请的内存不一定是连续的

练习

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main() {int* p;int i, n;printf("输入申请的元素个数\n");scanf_s("%d", &n, 4);p = (int*)malloc(n * 4);if (p == NULL) {printf("error\n");return 0;}for (i = 0;i < n;i++) {p[i] = i;}for (i = 0;i < n;i++) {printf("p[%d]=%d\n", i, p[i]);}free(p);return 0;
}

free函数

  1. 头文件:#include<stdlib.h>
  2. 函数定义:void free(void*ptr)
  3. 函数说明:free函数释放ptr指向的内存
  4. 注意ptr指向的内存必须是malloc calloc relloc动态申请的内存
  5. free后,因为没有给p赋值,所以p还是指向原先动态申请的内存。但是内存已经不能再用了,p变成野指针了。
  6. 一块动态申请的内存只能free一次,不能多次free

calloc函数

  1. 头文件:#include<stdlib.h>
  2. 函数定义:void*calloc(size_t nmemb,size_t size);
  3. size_t实际是无符号整型,它是在头文件中,用typedef定义出来的。
  4. 函数的功能:在定义的堆中,申请nmemb快,每块的大小为size个字节的连续区域
  5. malloc和calloc函数都是用来申请内存的。
  6. 区别:(malloc申请的内存,内存中存放的内容是随机的,不确定的,而calloc函数申请的内存中的内容为0)
  7. 调用方法:char*p=(char*)calloc(3,100);(在堆中申请了三块,每块大小为100字节,及300个字节连续的区域)

realloc函数(重新申请内存)

  1. 为了使申请的两块内存连续,而出现realloc函数。(使用malloc,calloc函数,单次申请的内存是连续的,两次申请的两块内存不一定连续)
  2. 头文件:#include<stdlib.h>
  3. 函数定义:void*realloc(void*s,unsigned int newsize)
  4. 函数的功能:在原先s指向的内存基础上重新申请内存,新的内存的大小为new_size个字节,如果原先内存后面有足够大的空间,就追加,如果后边的内存不够用,则relloc函数会在堆区找一个newsize个字节大小的内存申请,将原先内存中的内容拷贝过来,然后释放原先的内存,最后返回一个新内存地址
  5. 如果newsize比原先的内存小,则会释放原先内存的后面的存储空间,只留前面的newsize个字节。返回值:新申请的内存的首地址

内容泄露

  1. 也就是申请的内存,首地址丢了,找不到了。
http://www.bjxfkj.com.cn/article/110741.html

相关文章:

  • 宁波网站建设服务报价餐饮商家做网站的好处
  • 钓鱼网站在线生成器百度账号登录入口官网
  • 安徽股票配资网站建设wordpress手机分享插件下载地址
  • 论坛网站前置审批杭州软件开发的公司
  • 咨询机构网站页面代码优化
  • 电子商务网站建设与实践上机指导工厂生产管理系统软件
  • 公众号版影视网站开发工业设计相关网站
  • 网站公司可以做英文网吗外贸高端网站开发
  • 网站建设服务方案简述企业建设网站的必要性
  • 怎么建立淘宝客网站企业查询哪个软件是免费的
  • 网站制作与管理技术...网站建设服务器对比
  • 复古风格网站王烨
  • 顶尖的设计网站wordpress文章价格产品价格
  • Python用数据库做网站做网站jsp好还是
  • 广西网站运营中国建设银行总行官方网站
  • 烟台做网站排名wordpress模块设计
  • 怎么做网站前段wordpress设置
  • 洛江网站建设报价夏县做网站
  • 谢馥春网站建设的优势免费的企业网站cms
  • 网站demo 工具百度seo
  • 网站开发服务费算无形资产吗网页加速器插件
  • 移动端网站制作的有哪些要求网络防御中心是什么
  • dede网站微信分享封面科技与狠活
  • 网站备案费用多少怎么自己写网页
  • 泰安放心的企业建站公司网页制作用什么软件比较好
  • php+mysql网站开发全程实例 pdf开发微信小程序收费吗
  • 老河口网站定制哪家做网站最便宜
  • 网站优化站外链接怎么做网站3网合一是怎么做的
  • kotlin做网站外贸网站定制公司
  • 怎么做公司网站竞价两个人做aj的视频教程