C言語なら俺に聞け! Part 110
レス数が950を超えています。1000を超えると書き込みができなくなります。
0959デフォルトの名無しさん
2005/07/16(土) 15:28:28こうすると、組み込みの配列みたいに要素が連続し、
freeも戻り値のポインタに対してだけ実行すればいいのでやや楽。
ただし要素数があまりにも多ければ無理かもしれないが。
void **SquareAlloc(size_t size, size_t x, size_t y)
{
size_t offset = sizeof (void*) * x;
void **pp = malloc(offset + size * x * y);
if (pp)
{
void **ppIndex = pp;
size_t i;
for (i = 0; i < x; i++)
ppIndex[i] = (char *)pp + offset + size * y * i;
}
return pp;
}
レス数が950を超えています。1000を超えると書き込みができなくなります。