c语言中,malloc和free是什么意思?

c语言中,malloc和free是什么意思?
请说的具体点啊!

属于内存管理的两个函数,malloc是申请内存的,free是释放内存的。

1、malloc一般用法:

int *t=NULL;

t=(int *)malloc(sizeof(int));

也可以在sizeof前面加上一个'n*'这就成了一个动态分配数组的方法。

2、free一般用法:

int *t=NULL;

t=(int *)malloc(sizeof(int));

free(t);

这样t所指的空间就被释放掉了。

扩展资料:

malloc函数定义

其函数原型为void *malloc(unsigned int size);其作用是在内存的动态存储区中分配一个长度为size的连续空间。此函数的返回值是分配区域的起始地址,或者说,此函数是一个指针型函数,返回的指针指向该分配域的开头位置。

如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。

参考资料来源:百度百科-malloc函数

参考资料来源:百度百科-free()

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-02

malloc和free是C语言中申请内存空间与释放内存空间的函数。


函数原型:void *malloc(unsigned int size);

功       能:在内存的动态存储区中分配一个长度为size的连续空间。

返  回 值:指向所分配的连续存储域的起始地址的指针,若失败,返回NULL


函数原型:void free(void *p);

功       能:释放指针p所指向的内存区

返  回 值:无


举例如下:

int *p;  // 定义一个int类型的指针
p = (int *)malloc(4);  // 分配4个连续的内存单元给指针p
free(p);  // 释放指针p所指向的内存单元

第2个回答  2008-11-14
他们内存管理的两个函数,malloc是申请内存的,free是释放内存的

c语言的核心,一个是指针,一个就是内存管理。
第3个回答  2008-11-14
malloc是动态分配空间的意思。
一般用法
int *t=NULL;
t=(int *)malloc(sizeof(int));
也可以在sizeof前面加上一个'n*'这就成了一个动态分配数组的方法。
free是释放空间的意思。
一般用法:
int *t=NULL;
t=(int *)malloc(sizeof(int));
free(t);
这样t所指的空间就被释放掉了。
第4个回答  2008-11-14
动态申请空间,后面的是释放空间
前面是比如*p=(void*)malloc(sizeof());
free(p);
申请要是不释放的就会占用内存的使用,记住都是在堆里面申请,不是栈
相似回答