《C和指针》学习笔记

动态内存分配

1.malloc():

 malloc()函数分配一块大小为size的连续的内存:      
     void *malloc(size_t size);
  free():  释放malloc()申请的pointer指针指向的内存:
     void free(void *pointer):
  calloc():
     与malloc()的区别在于calloc在返回指向内存的指针之前把它初始化为0;
  realloc():
     用于修改一个原先已经分配的内存块的大小。

2.常见的动态内存错误:

   1.忘记检查所请求的内存是否成功分配;
   2.操作内存时超出了分配内存的边界;

3.内存泄露

   分配内存但在使用完毕后不释放将引起内存泄漏(memory leak)。
   在所有执行程序共享一个通用内存池的操作系统中,内存泄漏将一点点榨干可用内存,最终使其一无所有。
上一篇:5.0 数据结构之排列与组合


下一篇:LD_PRELOAD