man malloc: The pointer returned if the allocation succeeds shall be suitably aligned so that it may be assigned to a pointer to any type of object and then used to access such an object in the space allocated (until the space is explicitly freed or reallocated).
А как узнать, по какой границе может быть выровнен любой возможный тип? Это ведь фиксированное число. Если считать это число равным выравниванию long long-а, это будет верно? (например на 32-битной это 8)