首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求getmemory函数的新写法,该如何处理

2012-09-25 
求getmemory函数的新写法我今天遇到一个题目,如下:写分派空间程序 void *getmm(int size, int align),分配

求getmemory函数的新写法
我今天遇到一个题目,如下:
写分派空间程序 void *getmm(int size, int align),分配size大小的空间,并根据align指定的字节数方式对齐。

我的解答:

void *getmm(int size, int align)
{
char *p = NULL;


p = (char *)malloc(size);


return p;
}

但是align用来干什么的,我不太理解

在线等答案,谢谢了

[解决办法]
开辟的空间大小应该是align的整数倍吧……

C/C++ code
void *getmm(int size, int align){char *p = NULL;int rsize = (size-1)/align * align +1;p = (char *)malloc(rsize);return p;}
[解决办法]
C/C++ code
        if (align < sizeof(int)) return NULL;        int temp = align/sizeof(int);        int ret = (size/temp + size%temp) * align;        p = (char *)malloc(ret);        return p;
[解决办法]
探讨
开辟的空间大小应该是align的整数倍吧……

C/C++ code
void *getmm(int size, int align)
{
char *p = NULL;
int rsize = (size-1)/align * align +1;
p = (char *)malloc(rsize);
return p;
}

热点排行
Bad Request.