教学内容:
calloc分配内存
calloc与malloc的区别
memset函数初始化内存
free释放动态分配的内存
一、calloc函数分配内存
void *calloc( size_t num, size_t size );
int *p=(int*) malloc(25*sizeof(int));
int *p=(int*)calloc(25,sizeof(int);
二、 calloc与malloc的区别
1、参数不同
2、多了初始化内存的功能 0
三、memset函数
void *memset( void *dest, char c, size_t count );
四、 释放动态分配的内存
为什么要释放内存?
1、当动态分配了一些内存时,没有保留对它们的引用,就会出现内存泄漏,些时无法释放内存。这常常发生在循环内部,由于没有释放不再需要的内存,程序会使用越来越多的内存,最终将会占用所有内存。
void free( void *memblock );
//测试
int *p;
while (1)
{
p=malloc(10000);
//其它代码段
//free(p);
}