第三期 malloc()与free()

简介: /* Name malloc.c  * Author dyli  * date 20110616  * Description 加深对malloc()与free()函数的理解  *                  * */ #include stdio.
  1. /* Name malloc.c
  2.  * Author dyli
  3.  * date 20110616
  4.  * Description 加深对malloc()与free()函数的理解
  5.  *                
  6.  * */


  7. #include stdio.h>

  8. /***malloc()函数************************************************
  9. *    函数功能:    向系统申请分配size Byte大小的内存块
  10. *    函数原型: void *malloc(size_t size);
  11. *    返回值 :    成功,返回一个void类型指向被分配内存的指针;失败,返回NULL。
  12. *                
  13. *    所需库 :    stdio.h>
  14. * 备注 :     内存不再使用时要用free()将内存块释放
  15. *                void 类型是无类型的指针,使用时可以转换成任意类型的指针
  16. ****************************************************************/

  17. /***free()函数************************************************
  18. *    函数功能:    释放malloc()分配的内存块
  19. *    函数原型: free(内存地址指针)
  20. *    返回值 :    
  21. *                
  22. *    所需库 :    stdio.h>
  23. * 备注 :    
  24. ****************************************************************/
  25. int g_var_a=0;
  26. char g_var_b;

  27. int main()
  28. {
  29.     //以下四个数据存储在 栈区
  30.     int var_a;
  31.     char var_str[] ="string1";
  32.     char *p_str1,*p_str2;
  33.     char *p_str3 ="string2";
  34.     static int var_b =100;

  35.     //以下两个数据存储在 堆区    
  36.     p_str1=(char*)malloc(1024);//在堆区分配1024B内存
  37.     p_str2=(char*)malloc(2048);//------------------------->malloc()分配内存块,void型指针转换成char型
  38.     free(p_str1);                //------------------------>free()释放malloc申请的内存块
  39.     free(p_str2);
  40.     return 0;
  41. }
相关文章
|
1月前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别
pymalloc 和系统的 malloc 有什么区别
|
1月前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别?
pymalloc 和系统的 malloc 有什么区别?
|
6月前
|
存储 C语言
malloc
【6月更文挑战第16天】
76 8
|
2月前
|
程序员 编译器 C语言
C中的 malloc 和C++中的 new 有什么区别
在C语言中,`malloc`函数用于在运行时分配内存,返回指向所分配内存的指针,需显式包含头文件 `<stdlib.h>`。而在C++中,`new`不仅分配内存,还对其进行构造初始化,且直接使用类型声明即可,无需额外包含头文件。`new`还支持数组初始化,能更好地融入C++的面向对象特性,而`malloc`仅作为内存分配工具。使用完毕后,`free`和`delete`分别用于释放`malloc`和`new`分配的内存。
67 21
|
6月前
|
存储 C语言
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
C语言学习记录——动态内存函数介绍(malloc、free、calloc、realloc)
446 1
|
6月前
|
C语言
【C语言】:动态内存管理函数malloc,calloc,realloc和free的介绍的介绍
【C语言】:动态内存管理函数malloc,calloc,realloc和free的介绍的介绍
74 0
|
6月前
|
程序员 C语言
C语言内存管理:malloc、calloc、realloc与free函数详解
C语言内存管理:malloc、calloc、realloc与free函数详解
195 0
|
7月前
|
存储 安全 编译器
【C语言】动态内存管理 -- -- 深入了解malloc、calloc、realloc、free、柔性数组(万字深入了解)
【C语言】动态内存管理 -- -- 深入了解malloc、calloc、realloc、free、柔性数组(万字深入了解)
78 0
【C语言】动态内存管理 -- -- 深入了解malloc、calloc、realloc、free、柔性数组(万字深入了解)
|
6月前
|
缓存 C语言
glibc函数malloc的工作原理
glibc函数malloc的工作原理
46 0
|
7月前
|
程序员 编译器 C语言
C语言进阶⑰(动态内存管理)四个动态内存函数+动态通讯录+柔性数组_malloc+free(下)
C语言进阶⑰(动态内存管理)四个动态内存函数+动态通讯录+柔性数组_malloc+free
47 0
C语言进阶⑰(动态内存管理)四个动态内存函数+动态通讯录+柔性数组_malloc+free(下)