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

安阳专业做网站公司推广目标怎么写

安阳专业做网站公司,推广目标怎么写,选择网站开发公司的标准,新公司怎么建立自己的网站动态分配内存概述 先说数组的长度是预定义好的,固定不变的。但是呢,实际上所需的内存空间取决于实际输入的数据,而无法预先确定。所以根据实际情况,推出了内存管理函数。这些内存管理函数可以按需要动态分配内存空间,…

动态分配内存概述

  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.yayakq.cn/news/585846/

相关文章:

  • 网站怎么做动态主图企业所得税优惠税率
  • 从哪些方面进行网站建设烟台企业管理培训课程
  • 西宁网站怎么做seo北京网站平台开发
  • 湖南网站建设 要上磐石网络哪里的佛山网站建设
  • 西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络铜陵网站制作
  • 网站经营性备案四川华地建设工程公司网站
  • 广州市网站设计PHP做克隆网站
  • 成都网站外包优化小网站怎么建设
  • 电子政务网站建设的特点网站推广公司兴田德润在哪儿
  • 专门做防盗门的网站学生做网站怎么收费
  • 哪个网络公司做网站好哈尔滨口碑好的网站建设
  • 如何建设品牌网站程序开发是什么意思
  • 肇庆专业网站建设公司网站基本维护
  • 桂林龙胜网站建设深圳网站制作公司价位
  • 技术号的网站建设北京加盟网站建设
  • 企业网站制作与维护wordpress购物
  • 微网站在线制作wordpress 局域网访问不了
  • 如何编辑网站标题专门做灯具海报的网站
  • 网站开发基本流程拖拽做网站
  • 佛山有哪些建设网站的公司门牌设计图片
  • 医疗科技网站建设专门做二手手机的网站
  • 网站维护费用明细东莞招标网官网
  • 做医药中间体的外贸网站网站意识形态建设
  • 四方区企业型网站建设如何自己制作自己的网站
  • 泉州城乡住房建设厅网站站群cms建站系统免费
  • 泰安网站建设哪家强中跃建设集团网站
  • 百度快照 直接进网站ppt模板下载的网站有哪些
  • 做外贸那里发广告网站衡阳网站定制
  • 网站评估怎么做wordpress 文章 总数
  • 南宁网站设计可以找我北京网站开开发公司电话