_aligned_realloc
Ändert die Größe eines Speicherblocks, der _aligned_malloc oder _aligned_offset_malloczugeordnet wurde.
void * _aligned_realloc(
void *memblock,
size_t size,
size_t alignment
);
Parameter
[in] memblock
Der aktuelle Zeiger Speicherblock.[in] size
Die Größe der angeforderten Speicherbelegung.[in] alignment
Der Ausrichtungswert, der eine integrale Potenz von 2 sein muss.
Rückgabewert
_aligned_realloc gibt einen void-Zeiger auf den neu zugeteilten (und ggf. verschoben) Speicherblock zurück.Der Rückgabewert ist NULL , wenn die Größe des Puffers - Argument ist und nicht NULList oder wenn nicht genügend verfügbaren Arbeitsspeicher vorhanden ist, um die angegebene Größe des Blocks zu erweitern.Im ersten Fall wird der ursprüngliche Block freigegeben.In der zweiten ist der ursprüngliche Block unverändert.Der Rückgabewert zeigt auf ein garantiert der Speicherplatz zum Speichern eines beliebigen Typs Objekt ordnungsgemäß ausgerichtet werden soll.Um einen Zeiger auf einen anderen Typ als void abzurufen, verwenden Sie eine Typumwandlung im Rückgabewert.
Es ist ein Fehler, um Arbeitsspeicher neu zuzuteilen und der Ausrichtung eines Blocks zu ändern.
Hinweise
_aligned_realloc basiert auf malloc.Weitere Informationen zur Verwendung von _aligned_offset_mallocfinden Sie unter malloc.
Diese Funktion legt errno zu ENOMEM wenn die Speicherbelegung fehlgeschlagen fest oder wenn die angeforderte Größe größer als _HEAP_MAXREQwar.Weitere Informationen zu errno finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.Außerdem _aligned_realloc überprüft seine Parameter.Wenn alignment keine Potenz von 2 (null) ist, Aufrufe dieser Funktion der ungültige Parameter für, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt diese Funktion NULL zurück und legt ihn fest. EINVALzu errno
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_aligned_realloc |
<malloc.h> |
Beispiel
Weitere Informationen finden Sie unter _aligned_malloc.