Condividi tramite


_aligned_realloc

Modifica le dimensioni di un blocco di memoria allocato con _aligned_malloc o _aligned_offset_malloc.

Sintassi

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

Parametri

memblock
Puntatore al blocco di memoria corrente.

size
Dimensione dell'allocazione di memoria richiesta.

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

Valore restituito

_aligned_realloc 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_realloc è 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_realloc, 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_realloc <malloc.h>

Esempio

Per ulteriori informazioni, vedere _aligned_malloc.

Vedi anche

Allineamento dei dati