Freigeben über


_aligned_recalloc

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

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

Parameter

  • [in] memblock
    Der aktuelle Speicherblockzeiger.

  • [in] num
    Die Anzahl der Elemente.

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

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

Rückgabewert

_aligned_recalloc gibt ein void-Zeiger zum neu zugeordnete (und möglicherweise bewegt) Speicherblock zurück. Der Rückgabewert ist NULL, wenn die Größe (null und das Pufferargument nicht NULL ist oder wenn nicht genügend verfügbarer Speicher gibt, z des Blocks der angegebenen Größe zu erweitern. Im ersten Fall wird der erste Block freigegeben. Im zweiten Fall ist der erste Block unverändert. Der Rückgabewert zeigt auf einem Speicherplatz, der garantiert wird, zum Speichern eines beliebigen Typs Objekt ordnungsgemäß ausgerichtet sind. Um einen Zeiger auf einen anderen Typ als void abzurufen, verwenden Sie eine Typumwandlung für den Rückgabewert.

Es ist ein Fehler, um den Arbeitsspeicher neu belegen und der Ausrichtung eines Blocks zu ändern.

Hinweise

_aligned_recalloc basiert auf malloc. Weitere Informationen zum Verwenden 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 finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr. Darüber hinaus überprüft _aligned_recalloc auch die eigenen Parameter. Wenn alignment keine Potenz von 2 ist, Aufrufe dieser Funktion Parameterhandler der ungültige, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt diese Funktion NULL zurück und stellt errno auf EINVAL ein.

Anforderungen

Routine

Erforderlicher Header

_aligned_recalloc

<malloc.h>

.NET Framework-Entsprechung

Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Datenausrichtung

_recalloc

_aligned_offset_recalloc