属于内存管理的两个函数,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()
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所指向的内存单元
c语言的核心,一个是指针,一个就是内存管理。
一般用法
int *t=NULL;
t=(int *)malloc(sizeof(int));
也可以在sizeof前面加上一个'n*'这就成了一个动态分配数组的方法。
free是释放空间的意思。
一般用法:
int *t=NULL;
t=(int *)malloc(sizeof(int));
free(t);
这样t所指的空间就被释放掉了。
前面是比如*p=(void*)malloc(sizeof());
free(p);
申请要是不释放的就会占用内存的使用,记住都是在堆里面申请,不是栈