_aligned_realloc
Modifica le dimensioni di un blocco di memoria che è stato allocato con _aligned_malloc o _aligned_offset_malloc.
void * _aligned_realloc(
void *memblock,
size_t size,
size_t alignment
);
Parametri
[in] memblock
Il puntatore al blocco di memoria corrente.[in] size
La dimensione dell'allocazione di memoria richiesta.[in] alignment
Il valore di allineamento, che deve essere una potenza intera di 2.
Valore restituito
_aligned_realloc restituisce un puntatore void al blocco di memoria riallocato (ed eventualmente spostato). Il valore restituito è NULL se la dimensione è zero e l'argomento del buffer non è NULL, o se non è disponibile memoria sufficiente per espandere il blocco alla dimensione specificata. Nel primo caso, il blocco originale viene liberato. Nel secondo, il blocco originale rimane invariato. I valore restituito punta ad uno spazio di memoria che garantisce l'allineamento adeguato per l'archiviazione di qualsiasi tipo di oggetto. Per ottenere un puntatore a un tipo diverso da void, utilizzare un cast di tipo sul valore di ritorno.
È un errore riallocare la memoria e modificare l'allineamento di un blocco.
Note
_aligned_realloc è basato su malloc. Per ulteriori informazioni sull'utilizzo di _aligned_offset_malloc, vedere malloc.
Questa funzione imposta errno in ENOMEM se non è riuscita l'allocazione della memoria o se la dimensione richiesta è maggiore di _HEAP_MAXREQ. Per ulteriori informazioni su errno, vedere errno, _doserrno, _sys_errlist, and _sys_nerr. Inoltre, _aligned_realloc convalida i suoi parametri. Se alignment non è una potenza di 2, questa funzione chiama il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, questa funzione restituisce NULL e imposta errno su EINVAL.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_aligned_realloc |
<malloc.h> |
Esempio
Per ulteriori informazioni, vedere _aligned_malloc.