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

东莞网页模板建站建设开源社区网站什么意思

东莞网页模板建站,建设开源社区网站什么意思,游戏推广员怎么做,企业网站模板包含什么目录 前提须知#xff1a; malloc#xff1a; 大意#xff1a; 头文件#xff1a; 申请空间#xff1a; 判断是否申请成功#xff1a; 使用空间#xff1a; 结果#xff1a; 整体代码#xff1a; malloc申请的空间怎么回收呢? 注意事项#xff1a; free:…目录 前提须知 malloc 大意 头文件 申请空间 判断是否申请成功  使用空间 结果 整体代码 malloc申请的空间怎么回收呢? 注意事项 free: 前提须知 为什么要有动态内存分配 我们已经掌握的内存开辟⽅式有 int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟10个字节的连续空间 上述开辟内存空间的特点——空间申请之后不容易调整或者说不能够进行调整且数组在申明的时候必须指定数组的⻓度数组空间⼀旦确定了⼤⼩不能调整。而就算是变长数组也只是说数组的大小可以使用变量来指定而一旦数组创建好后依然是不能调整大小。而对于申请的空间大小不能灵活的调整C语言就给了: 动态内存管理给程序员权限自己申请自己使用使用完后自己释放。 而开辟和释放所需要用到的函数就是malloc与free malloc是用来申请内存的free是用来释放内存的 malloc C语⾔提供了⼀个动态内存开辟的函数 void* malloc (size_t size);大意 想要多少字节就向内存申请多少个字节 申请成功后会返回一共空间的起始地址开辟失败会返回空指针NULL。 头文件 #include stdlib.h 申请空间 malloc(10 * sizeof(int)); //申请10个整型的空间 - 40个字节 判断是否申请成功  if (p NULL) {perror(malloc);return 1; }冷知识return 0 表示一共主函数的结束也表示着一个正确的返回值而在此时的return 1表示的是一个返回失败的意思或是说申请空间失败。return 1也可以用return 2或者return 3表示只要表示return 0就行。  因为申请成功会返回起始地址而返回的类型是void*所以我们要进行使用的时候需要进行转化且我们要使用这个空间时得找一个相对因的变量指针进行存放空间起始地址。 int *p (int*)malloc(10 * sizeof(int)); 使用空间 int i 0; for (i 0; i 10; i) {*(p i) i; }for (i 0;i 10; i) { printf(%dp[i]);return 0; } pi表示地址*pi表示地址所指向的元素所以这是给每个不同地址的不同的元素赋值。p[i]相当于*pi 结果 整体代码 int main() {int *p (int*)malloc(10 * sizeof(int));if (p NULL){perror(malloc);return 1;}int i 0;for (i 0; i 10; i){*(p i) i;}for (i 0;i 10; i){ printf(%dp[i]);return 0;}return 0; } malloc申请的空间怎么回收呢? free回收自己使用free不释放的时候程序结束后也会由操作系统回收malloc是堆区上申请内存 注意事项 如果开辟成功则返回⼀个指向开辟好空间的指针。 如果开辟失败则返回⼀个 NULL 指针因此malloc的返回值⼀定要做检查。 返回值的类型是 void* 所以malloc函数并不知道开辟空间的类型具体在使⽤的时候使⽤者⾃⼰来决定。 尽量使用free函数进行回收函数如若使用系统回收若申请的空间过大或进行多次申请空间且不使用free进行回收系统内存空间可能会出现不够如果参数 size 为0malloc的⾏为是标准是未定义的取决于编译器。  free: C语⾔提供了另外⼀个函数free专⻔是⽤来做动态内存的释放和回收的函数原型如下 void free (void* ptr);free函数  只能  ⽤来释放动态开辟的内存。 如果参数 ptr 指向的空间不是动态开辟的那free函数的⾏为是未定义的。如果参数 ptr 是NULL指针则函数什么事都不做。malloc和free都声明在 stdlib.h 头⽂件中。 int main() {int *p (int*)malloc(10 * sizeof(int));if (p NULL){perror(malloc);return 1;}int i 0;for (i 0; i 10; i){*(p i) i;}for (i 0;i 10; i){ printf(%dp[i]);return 0;}free(p);//释放p NULL;return 0; } free(p); p NULL; p内存放的是申请的空间的起始位置。而free只是把p指向的空间回收了。而对于以上两段代码我们还得让p指针忘记申请空间的空间起始地址不然p会变成野指针。
http://www.yutouwan.com/news/159985/

相关文章:

  • 网站域名备案需要资料郑州知名做网站公司有哪些
  • 广东制作公司网站网站优化搜索
  • 深圳建设银行宝安支行网站钟楼区建设局网站
  • 有没有专门做ppt的网站郑州建设银行网站
  • 青海建设网站多少钱背景墙素材高清图片免费
  • wordpress企业网站模板查询个人信息的网站
  • 毕业设计网站开发选题依据外国酷炫网站
  • 好多职业培训网站是怎么做的联邦快递的网站建设
  • 网站项目建设方案专业营销的网站建设公司排名
  • 修改网站的设计wordpress最新的编辑器
  • 小学生编程网课前十名永康网站优化
  • 行业网站 源码有什么做家常菜的网站
  • chn域名网站哈尔滨电子政务网站建设
  • 网站建设金硕网络华为净亏26亿
  • 做的好的招投标网站图片常采用gif或jpeg格式
  • 志愿服务网站建设方案广东网站建设哪家有
  • 南宁网站建设团队汕头建站免费模板
  • 怎样做pdf电子书下载网站营业范围中网站开发与网页设计
  • html5网站有点深圳做网站应该怎么做
  • 房屋租赁网站建设如何给客户定位查域名注册人
  • 网站建站建设10大装修公司排行榜
  • asp.net网站本机访问慢为wordpress 转 app
  • 织梦做的网站要怎么放到浏览器wordpress functions.php在哪里
  • 热点链接到另一个网站怎么做wordpress 手动下一页
  • 服饰网站建设如何快速网络推广
  • 国家住房和城乡建设局网站首页一个外国人建设的中国文字网站
  • 图片网站如何做百度排名自己有服务器怎么做网站
  • 平阴县网站建设html中文网站作业
  • 衡阳网站开发培训网站建设与会展
  • 搭建网站要哪些知识网站制作要多长时间