一、malloc
二、free
三、calloc
1.malloc函数
#include "stdlib.h"
void *malloc(unsigned int size);
函数:
函数名:malloc
函数参数:unsigned int size
函数返回值:void *
功能:
在堆区申请一块size个字节的空间会把申请到的空间地址的首字节编号返回,
此空间没有类型(可以强制转换任何地址类型)
#include "stdlib.h"
void main(void)
{
int *p;
p = (int *)malloc(8);//分配8个字节的地址空间并且强转为int
}
2.free 函数
#include "stdlib.h"
void *free(void *ptr);
函数名:free
功能:释放一块堆区空间的内容
参数:指针变量----地址
返回值:无
注意:
地址空间没有改变,地址的内容释放
#include “stdlib.h”
void main(void)
{
int *p;
p = (int *)malloc(8);
*p = 100;
free(p);
}
3.calloc 函数
#include "stdlib.h"
void *calloc(unsigned int num,unsigned int size)
函数名:calloc(块区内存分配)
功能:在堆区申请num块,每块大小为size字节数内存空间
参数:
num:要申请的内存块数
size:每一块占用的字节数
例:
malloc(16);
calloc(2,8);