A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wtj900 中级黑马   /  2015-9-6 20:11  /  762 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wtj900 于 2015-9-6 20:15 编辑

1)malloc 函数
   格式: void * malloc(unsigned size);
   从内存的堆区分配大小为size个字节的连续的内存空间
   如果内存分配成功  返回内存的首地址
             失败  NULL
   注意:malloc 申请的内存空间,如果我们不赋值是垃圾数
   例:int *p = (int *)malloc(4*sizeof(int));   //16个字节
               memset(p,'a',16);//使用一个函数给malloc申请的空间进行初始化

2)callloc 分配指定块数和长度的内存空间
   格式:calloc(块数,长度)
   calloc 它可以帮我们自动的初始化为0
   例:int *p = (int *)calloc(4, sizeof(int));   //16个字节

3)realloc 函数可以给已经存在的空间扩充大小
      例:p = realloc(p, 40*sizeof(int));

4)应该使用free()函数释放内存空间
   格式:free(要释放的空间的首地址)
   free(p);
   free(p)以后,p是一个野指针,要执行下面的操作
   p = NULL;


   

1 个回复

倒序浏览
好的,受教了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马