malloc动态内存分配函数原理详解及编程用法举例(本文由www.169it.com搜集整理)

malloc函数函数原型定义void *malloc(size_t size);

malloc函数原型说明

malloc函数向系统申请分配size个字节的内存空间。返回值类型是 void* 类型。void* 表示未确定类型的指针。c,c++规定,void* 类型可以强制转换为任何其它类型的指针。

malloc动态内存分配函数头文件#include

#include

malloc函数使用要求

这个函数要实现的功能是在系统中分配一段连续的可用的内存,具体有如下要求:

1.malloc分配的内存大小至少为size参数所指定的字节数.

2.malloc的返回值是一个指针,指向一段可用内存的起始地址.

3.多次调用malloc所分配的地址不能有重叠部分,除非某次malloc所分配的地址被释放掉.

4.malloc应该尽快完成内存分配并返回.

5.实现malloc时应同时实现内存大小调整和内存释放函数(即realloc和free).

对于malloc更多的说明可以在linux shell命令行中键入以下命令查看:

man malloc

可以看见linux下malloc函数的详细使用手册

与malloc函数相关的函数

calloc()函数、realloc()函数、free()函数

malloc函数用法举例

malloc函数用法实例1

#include

#include

int main()

{

char *p;

p=(char *)malloc(100);

if(p)

printf("Memory Allocated at: %x/n",p);

else

printf("Not Enough Memory!/n");

free(p);

return 0;

}

malloc函数用法实例2

#include

#include

int main()

{

// Code...

char *Ptr = NULL;

Ptr = (char *)malloc(100 * sizeof(char));

if (NULL == Ptr)

{

exit (1);

}

gets(Ptr);

// code...

free(Ptr);

Ptr = NULL;

// code...

}

malloc函数编程实例3

/*

//本文来自 www.169it.com

in参数:申请的堆内存字节数,注意int,short,float需要自己乘上相应字节数。

out返回值:void *

*/

main()

{

char *str=NULL;

str=(char *)malloc(10); //注意malloc返回值是void *,申请时需要强制转换成需要的类型

memset(str,0,10);  //如果不清空,申请的区域值是随机的,养成好习惯

strcpy(str,"happylife"); //使用strcpy特别注意拷贝的字符串长度<=10-1,即要预留字符串结束标志'

malloc函数java_malloc函数详解及用法举例相关推荐

  1. C语言return的用法详解,C语言函数返回值详解。 (本次转载仅供学习,感谢原创!!转发自C语言中文网,如有侵权请私信本人删除)

    C语言return的用法详解,C语言函数返回值详解 转载:http://c.biancheng.net/view/1855.html 函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这 ...

  2. chatgpt赋能python:Python取ln函数详解:用法及常见问题解答

    Python取ln函数详解:用法及常见问题解答 Python取ln函数是一种非常常用的数学函数,它可以帮助开发者在计算中处理数据的自然指数对数.本篇文章将会介绍Python中取ln函数的基础知识,让您 ...

  3. c语言memset函数用法,C语言memset函数使用方法详解

    C语言memset函数使用方法详解 一.函数原形   void *  memset(void*s, int ch,size_t n) 二.函数作用  将以s内存地址为首的连续n个字节的内容置成ch,一 ...

  4. python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  5. python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...

    本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...

  6. python获取系统时间函数_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  7. python代码大全表解释-python操作列表的函数使用代码详解

    python的列表很重要,学习到后面你会发现使用的地方真的太多了.最近在写一些小项目时经常用到列表,有时其中的方法还会忘哎! 所以为了复习写下了这篇博客,大家也可以来学习一下,应该比较全面和详细了 列 ...

  8. 函数中{}输出格式详解(C#)

    Console.WriteLine()函数中{}输出格式详解(C#) Console.WriteLine()函数的格式一直没怎么注意.今天同事问起Console.WriteLine({0:D3},a) ...

  9. mysql 聚集函数 count 使用详解

    mysql 聚集函数 count 使用详解 本文将探讨以下问题 1.count(*) . count(n).count(null)与count(fieldName) 2.distinct 与 coun ...

  10. python resize函数怎么用_pytorch之Resize()函数具体使用详解

    pytorch之Resize()函数具体使用详解 Resize函数用于对PIL图像的预处理,它的包在: from torchvision.transforms import Compose, Cent ...

最新文章

  1. 自定义DataSet
  2. Linux中包的管理与程序安装
  3. (莱昂氏unix源代码分析导读-46)权限、管道
  4. dataTables分页组合查询 springMVC Hibernate
  5. 汉字为什么能流传至今_汉字能流传至今,比毛不易还不易,它的同龄字统统都死掉了...
  6. 字节跳动 设计模式 pdf_凭这份pdf我拿下了美团、字节跳动、阿里、小米等大厂的offer...
  7. html中article、section、aside的区别与联系
  8. 计算机知识ppt图片大全,PowerPoint基础知识
  9. 如何通过路由器日志查看路由器是否断网过_路由器本身有一个日志功能,里面存了很多工作记录...
  10. python常用代码总结-Python基础常见问题总结(一)
  11. 隐马尔可夫模型(HMM)详解
  12. 十大计算机恶意软件排行榜发布
  13. STM8系列芯使用STVP烧写程序设定读保护和如何解除读保护操作
  14. php 字母+数字 正则,PHP正则匹配中文字母数字正则表达式
  15. 图表排版设计html,网页的排版(表格篇上)
  16. s3c2440汇编语言,S3C2440-裸机篇-03 | GPIO的使用(点亮LED、按键检测)
  17. vue使用高德地图web端JSAPI 路线规划、搜索提示教程
  18. 【裸眼3D】 图形图像空洞填充
  19. python实现矢量分级渲染_PyQGIS开发 -- 聊聊矢量图层渲染(一)
  20. android灯光蜂鸣器控制节点指令代码,北斗手机app -北斗手机appV1.5.48

热门文章

  1. 目前我国网络安全人才市场状况
  2. iframe是什么?iframe用法详解。
  3. python总结与思考_学Python很久但是一直无法提升!你有思考过究竟是为什么吗?...
  4. 西南科技大学城市学院计算机专业录取分数线,西南科技大学城市学院2020年录取分数线(附2017-2020年分数线)...
  5. jzxx1105 【入门】字符图形4-星号正三角
  6. Ubuntu 9.04正式版下安装Sopcast看在线网络电视
  7. 通信专业顶刊_通信类权威SCI期刊(部分)
  8. pdfFactory和pdfFactory Pro有什么不同
  9. 《JAVA语言程序设计》上课笔记
  10. matlab 画短时平均幅度谱