Freigeben über


_aligned_recalloc

Ändert die Größe eines Speicherblocks, der _aligned_malloc oder _aligned_offset_malloc zugeordnet wurde, und initialisiert den Arbeitsspeicher bis 0.

void * _aligned_recalloc(
   void *memblock, 
   size_t num,
   size_t size, 
   size_t alignment
);

Parameter

  • [in] memblock
    Der aktuelle Zeiger Speicherblock.

  • [in] num
    Die Anzahl der Elemente.

  • [in] size
    Die Größe in Byte) der einzelnen Elemente.

  • [in] alignment
    Der Ausrichtungswert, der eine integrale Potenz von 2 sein muss.

Rückgabewert

_aligned_recalloc 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.Im zweiten Fall 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_recalloc 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_recalloc ü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_recalloc

<malloc.h>

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Datenausrichtung

_recalloc

_aligned_offset_recalloc