malloc函数java_malloc函数详解及用法举例[通俗易懂]c语言malloc函数的用法和意义

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

malloc函数函数原型定义void *mallocsize_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函数的详细使用手册

80c975270246fad266b4bf73294aa646.png80c975270246fad266b4bf73294aa646.png

与malloc函数相关的函数

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

malloc函数用法举例

malloc函数用法实例1

#include

#include

int main)

{

char *p;

p=char *)malloc100);

ifp)

printf“Memory Allocated at: %x/n”,p);

else

printf“Not Enough Memory!/n”);

freep);

return 0;

}

malloc函数用法实例2

#include

#include

int main)

{

// Code…

char *Ptr = NULL;

Ptr = char *)malloc100 * sizeofchar));

if NULL == Ptr)

{

exit 1);

}

getsPtr);

// code…

freePtr);

Ptr = NULL;

// code…

}

malloc函数编程实例3

/*

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

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

out返回值:void *

*/

main)

{

char *str=NULL;

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

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

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注