漩涡鸣人 发表于 2014-9-13 19:32:09

C标准库之内存操作函数——_expand

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

功能:_expand函数用于改变已分配内存字节数
函数原型:void * _expand(void * memblock, size_t size);

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

返回值:改变字节数后的内存块首地址
要求:
函数需要的头文件
_expand<malloc.h>

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

int main(void)
{
    int * buf;

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

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

    free(buf);//释放数组空间
    return 0;
}
运行结果:
页: [1]
查看完整版本: C标准库之内存操作函数——_expand