小编Ale*_*ira的帖子

在C中实现Realloc

int getmin(int a, int b)
{
    return a<b?a:b;
}


void *reallocation(void *ptr, size_t size) //size_t in bytes
{

    void *newptr;


    int msize;
    msize = getsize(ptr);

    msize = getmin(msize, size);

        printf("msize = %d", msize);

    newptr = malloc(size);
    newptr = memcpy(newptr, ptr, msize);
    free(ptr);


    return newptr;

}
Run Code Online (Sandbox Code Playgroud)

我已经实现了自己的realloc,并且为了使用malloc获得分配的内存的大小(但是我知道在c中没有任何方法).

我的重新分配功能在我的系统上正常工作我们如何获得malloc()分配的内存大小.

如果先前分配的内存大小大于新的所需内存,我们也可以进行内部重新分配吗?

c malloc free realloc

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

free ×1

malloc ×1

realloc ×1