Condividi tramite


_aligned_recalloc

Modifica le dimensioni di un blocco di memoria allocato con _aligned_malloc o _aligned_offset_malloc e inizializza la memoria su 0.

Sintassi

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

Parametri

memblock
Puntatore al blocco di memoria corrente.

number
Numero di elementi.

size
Dimensione in byte di ogni elemento.

alignment
Valore di allineamento, che deve essere una potenza intera di 2.

Valore restituito

_aligned_recalloc restituisce un puntatore void al blocco di memoria riallocato (e possibilmente spostato). Il valore restituito è NULL se la dimensione è zero e l'argomento buffer non NULLè o se la memoria disponibile non è sufficiente per espandere il blocco fino alle dimensioni specificate. Nel primo caso il blocco originale viene liberato. Nel secondo caso il blocco originale resta invariato. Il valore restituito punta a uno spazio di archiviazione allineato in modo adeguato per l'archiviazione di qualsiasi tipo di oggetto. Per ottenere un puntatore a un tipo diverso da void, usare un cast del tipo sul valore restituito.

Si tratta di un errore per riallocare la memoria e modificare l'allineamento di un blocco.

Osservazioni:

_aligned_recalloc è basato su malloc. Per altre informazioni sull'uso di _aligned_offset_malloc, vedere malloc.

La funzione imposta errno su ENOMEM se l'allocazione di memoria non riesce o se la dimensione richiesta è maggiore di _HEAP_MAXREQ. Per altre informazioni su errno, vedere errno, _doserrno, _sys_errliste _sys_nerr. _aligned_recalloc, inoltre, convalida i propri parametri. Se alignment non è una potenza pari a 2, questa funzione richiama il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce NULL e imposta errno su EINVAL.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Ciclo Intestazione obbligatoria
_aligned_recalloc <malloc.h>

Vedi anche

Allineamento dei dati
_recalloc
_aligned_offset_recalloc