Freigeben über


_aligned_realloc

Ändert die Größe eines Speicherblocks, der zugeordnet _aligned_malloc wurde, oder _aligned_offset_malloc.

Syntax

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

Parameter

memblock
Der Zeiger auf den aktuellen Speicherblock.

size
Die Größe der angeforderten Speicherbelegung.

alignment
Der Ausrichtungswert, der eine ganzzahlige Potenz von 2 sein muss.

Rückgabewert

_aligned_realloc gibt einen leeren Zeiger auf den neu belegten (und möglicherweise verschobenen) Speicherblock zurück. Der Rückgabewert ist NULL , wenn die Größe null ist und das Pufferargument nicht NULLvorhanden ist, oder wenn nicht genügend Arbeitsspeicher verfügbar ist, um den Block auf die angegebene Größe zu erweitern. Im ersten Fall wird der ursprüngliche Block freigegeben. Im zweiten Fall wird der ursprüngliche Block nicht geändert. Der Rückgabewert verweist auf einen Speicherplatz, der für die Speicherung eines beliebigen Objekttyps entsprechend ausgerichtet ist. Um einen Zeiger auf einen anderen Typ als den leeren zurückzugeben, verwenden Sie eine Typumwandlung für den Rückgabewert.

Es ist ein Fehler, Speicher neu zu ordnen und die Ausrichtung eines Blocks zu ändern.

Hinweise

_aligned_realloc ist auf malloc basiert. Weitere Informationen zur Verwendung von _aligned_offset_malloc finden Sie unter malloc.

Diese Funktion legt errno auf ENOMEM fest, wenn die Speicherbelegung fehlgeschlagen ist oder die angeforderte Größe größer als _HEAP_MAXREQ war. Weitere Informationen zu errno, sieheerrno , , _doserrno, _sys_errlistund _sys_nerr. Darüber hinaus überprüft _aligned_realloc auch die eigenen Parameter. Wenn alignment keine Potenz von 2 ist, ruft diese Funktion den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt diese Funktion NULL zurück und stellt errno auf EINVAL ein.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Anforderungen

Routine Erforderlicher Header
_aligned_realloc <malloc.h>

Beispiel

Weitere Informationen finden Sie unter _aligned_malloc.

Siehe auch

Datenausrichtung