第三期 malloc()与free()
简介:
/* Name malloc.c
* Author dyli
* date 20110616
* Description 加深对malloc()与free()函数的理解
*
* */
#include stdio.
- /* Name malloc.c
- * Author dyli
- * date 20110616
- * Description 加深对malloc()与free()函数的理解
- *
- * */
- #include stdio.h>
- /***malloc()函数************************************************
- * 函数功能: 向系统申请分配size Byte大小的内存块
- * 函数原型: void *malloc(size_t size);
- * 返回值 : 成功,返回一个void类型指向被分配内存的指针;失败,返回NULL。
- *
- * 所需库 : stdio.h>
- * 备注 : 内存不再使用时要用free()将内存块释放
- * void 类型是无类型的指针,使用时可以转换成任意类型的指针
- ****************************************************************/
- /***free()函数************************************************
- * 函数功能: 释放malloc()分配的内存块
- * 函数原型: free(内存地址指针)
- * 返回值 :
- *
- * 所需库 : stdio.h>
- * 备注 :
- ****************************************************************/
- int g_var_a=0;
- char g_var_b;
- int main()
- {
- //以下四个数据存储在 栈区
- int var_a;
- char var_str[] ="string1";
- char *p_str1,*p_str2;
- char *p_str3 ="string2";
- static int var_b =100;
- //以下两个数据存储在 堆区
- p_str1=(char*)malloc(1024);//在堆区分配1024B内存
- p_str2=(char*)malloc(2048);//------------------------->malloc()分配内存块,void型指针转换成char型
- free(p_str1); //------------------------>free()释放malloc申请的内存块
- free(p_str2);
- return 0;
- }