Sdílet prostřednictvím


_aligned_realloc

Změní velikost bloku paměti, který byl přidělen _aligned_malloc_aligned_offset_mallocnebo .

Syntaxe

void * _aligned_realloc(
   void *memblock,
   size_t size,
   size_t alignment
);

Parametry

memblock
Aktuální ukazatel bloku paměti.

size
Velikost požadovaného přidělení paměti.

alignment
Hodnota zarovnání, která musí být celočíselná mocnina 2.

Vrácená hodnota

_aligned_realloc vrátí ukazatel void na relokovaný (a pravděpodobně přesunutý) paměťový blok. Vrácená hodnota je NULL , pokud je velikost nula a argument vyrovnávací paměti není NULLnebo pokud není dostatek dostupné paměti k rozšíření bloku na danou velikost. V prvním případě se původní blok uvolní. Za druhé se původní blok nezmění. Návratová hodnota odkazuje na prostor úložiště, který je vhodně zarovnaný pro úložiště libovolného typu objektu. Pokud chcete získat ukazatel na jiný typ než void, použijte přetypování typu na návratovou hodnotu.

Jedná se o chybu při opětovném přidělení paměti a změně zarovnání bloku.

Poznámky

_aligned_realloc je založena na malloc. Další informace o použití _aligned_offset_mallocnaleznete v tématu malloc.

Tato funkce nastaví errnoENOMEM , jestli přidělení paměti selhalo nebo pokud byla požadovaná velikost větší než _HEAP_MAXREQ. Další informace o errno, vizerrno , _doserrno, _sys_errlist, a _sys_nerr. _aligned_realloc Ověří také jeho parametry. Pokud alignment není mocnina 2, tato funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, tato funkce vrátí NULL a nastaví errno hodnotu EINVAL.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Rutina Požadovaný hlavičkový soubor
_aligned_realloc <malloc.h>

Příklad

Další informace najdete na webu _aligned_malloc.

Viz také

Zarovnání dat