鱼C论坛

 找回密码
 立即注册
查看: 1853|回复: 0

[技术交流] C标准库之内存操作函数——_expand

[复制链接]
发表于 2014-9-13 19:32:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 漩涡鸣人 于 2014-9-13 19:35 编辑

功能:
_expand函数用于改变已分配内存字节数

函数原型:
void * _expand(void * memblock, size_t size);


参数:
参数
说明
memblock
已分配内存的首地址
size
改变后的字节数

返回值:
改变字节数后的内存块首地址

要求:
函数
需要的头文件
_expand
<malloc.h>

举例:
  1. #include <stdio.h>
  2. #include <malloc.h>

  3. int main(void)
  4. {
  5.     int * buf;

  6.     buf = (int *)malloc(20 * sizeof(int));//获得一块整型数组空间, 20个元素
  7.     printf("已分配内存大小:%d\n", _msize(buf));

  8.     buf = (int *)_expand(buf, 100 * sizeof(int));//重新分配为100个元素
  9.     printf("重新分配内存大小:%d\n", _msize(buf));

  10.     free(buf);//释放数组空间
  11.     return 0;
  12. }
复制代码

运行结果:
重分配内存块.jpg

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
拈花小仙 + 5 + 5

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-2 07:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表