1.说明:

void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新重新标记可用。

2.注意事项

1、申请了内存空间后,必须检查是否分配成功。
2、当不需要再使用申请的内存时,记得释放;释放后应该把指向这块内存的指针指向NULL,防止程序后面不小心使用了它。
3、这两个函数应该是配对。如果申请后不释放就是内存泄露;如果无故释放那就是什么也没有做。释放只能一次,如果释放两次及两次以上会
出现错误(释放空指针例外,释放空指针其实也等于啥也没做,所以释放空指针释放多少次都没有问题)。
4、虽然malloc()函数的类型是(void *),任何类型的指针都可以转换成(void *),但是最好还是在前面进行强制类型转换,因为这样可以躲过一
些编译器的检查。
    追加更深理解:

Int len;Sacnf("%d",&len);Int* p=(int*)malloc(sizeof(int)*len); 第一个int* 是返回类型时指针类型第二个是先计算int 数据类型的长度,然后乘以len的大小,这样就分配了适当的空间注意:malloc只返回第一个字节地址: malloc函数能且只能返回第一个字节的地址,所以我们需要把这个无任何实际意义的第一个字节的地址(俗称干地址)转化为一个有实际意义的地址,因此,malloc前面必须加(数据类型*),表示把这个无实际意义的第一个字节的地址转化为相应类型的地址。

malloc 和free()函数的用法:相关推荐

  1. 关于C语言中的malloc和free函数的用法

    一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...

  2. 关于malloc和free函数的用法

    http://blog.pfan.cn/vfdff/33507.html 个人总结 在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少, ...

  3. C/C++ 动态存储分配 malloc calloc realloc函数的用法与区别

    C++内存分配 https://blog.csdn.net/zhangxiao93/article/details/43966425

  4. calloc、malloc、realloc函数的区别及用法

    calloc.malloc.realloc函数的区别及用法! 三者都是分配内存,都是stdlib.h库里的函数,但是也存在一些差异. (1)malloc函数.其原型void *malloc(unsig ...

  5. malloc函数的用法(超级白话版)

    malloc函数的用法 在这里,我不讲什么原理性的东西,我就单纯讲讲怎么用. 首先malloc()函数返回的是void *类型,所以用的时候要进行强制类型转换 malloc函数用完后,记得使用free ...

  6. malloc和free函数详解

    本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *ma ...

  7. 【Linux入门到精通系列讲解】内存管理malloc和free函数

    函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针.如果分配失败,则返回一个空指针(NULL). 关于分配失败的原 ...

  8. linux之getcwd函数解析,Linux 中C语言getcwd()函数的用法

    Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将 ...

  9. 自引用结构兼谈Malloc和Free函数

    原文地址http://www.cnblogs.com/P_awl/archive/2010/04/08/1707852.html 一.自引用结构 1. 什么事自引用结构? 自引用结构(Self-Ref ...

  10. C语言动态申请内存空间之malloc(),calloc(),realloc()函数

    在C语言中用于动态申请内存空间的函数主要为malloc()函数,calloc()函数,以及realloc()函数,以下主要介绍三个函数的用法,区别以及使用时的注意事项. malloc(),calloc ...

最新文章

  1. 一天一个Java基础——对象和类
  2. UVA11624 Fire!(bfs)
  3. 使用redis时遇到的问题
  4. RIS实现系统的远程安装之三使用远程安装
  5. vue在微信里面的兼容问题_微信H5页面兼容性问题分析及解决方法
  6. 【学术相关】为什么很多国内学者的AI的论文复现不了?
  7. 华为触摸提示音怎么换_抖音苹果iPhone手机怎么改微信消息提示音 自定义换声音教程...
  8. 【华为云技术分享】《跟唐老师学习云网络》— iptables - filter过滤功能
  9. VBA读取html表格内容,科学网—VBA读取word文档表格中table的cell的text文本 - 付安民的博文...
  10. { parser: “babylon“ } is deprecated; we now treat it as { parser: “babel“ }.
  11. java用php退出清除session_PHP学习笔记:删除与销毁session
  12. 哈工大物理学专业计算机知识怎样,哈尔滨工业大学应用物理学专业怎么样
  13. Python实现的简易HTTP代理服务器
  14. QPS、TPS、并发用户数、吞吐量
  15. POJ 3295 Tautology(构造)
  16. 安全 | 开源入侵防御系统 Snort
  17. 模拟电路9(微变等效电路法对共射基本放大电路进行分析)
  18. 计算机基本配置实验方案,实验4 计算机配置方案.doc
  19. 同事写了一个责任链模式,bug无数...
  20. oracle创建序列号

热门文章

  1. 智能家居新标准-Matter,蓝牙BLE技术发挥重要作用
  2. 企业仓库管理的5种方法
  3. 微信公众号的粉丝是怎么增长的,要如何做好公众号运营
  4. DT时代,企业要有“经营安全、安全经营”新思维
  5. js实现指定时间倒计时时间效果
  6. 微信小程序开发—添加开发者
  7. 华为M2 无法写入外置sd卡 文件
  8. 指定文件打成jra包
  9. Wireshark 將TLS (https) decrypt 並保存明文
  10. 前端开发 - 假期养生保健不完全指南