void * Allocate(ULONG size)
{
   ULONG Address1;
   ULONG iAlign=4;
   ULONG Address2;//分配后的地址(4个字节对齐)
   Address1=(ULONG)malloc(size+iAlign);
   //算法?
   // 
   return Address2;
}
   Allocate函数动态分配地址并返回分配后的地址。我想让返回的地址4个字节对齐?请求算法?并说明  
   多谢!