_aligned_realloc
La modifica della dimensione di un blocco di memoria che è stata allocata con _aligned_malloc o _aligned_offset_malloc.
void * _aligned_realloc(
void *memblock,
size_t size,
size_t alignment
);
Parametri
[in] memblock
Il puntatore di blocco di memoria.[in] size
La dimensione dell'allocazione della memoria richiesta.[in] alignment
Il valore di allineamento, che deve essere una potenza intera a 2.
Valore restituito
_aligned_realloc restituisce un puntatore a void (ed eventualmente spostato) al blocco di memoria ridistribuito.il valore restituito è NULL se la dimensione è zero e l'argomento del buffer non viene 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 punti di valore restituito a uno spazio di memoria è garantito che sia allineato in modo adeguato per l'archiviazione di qualsiasi tipo di oggetto.Per ottenere un puntatore a un tipo diverso di void, utilizzare un cast di tipo sul valore restituito.
è un errore per ridistribuire la memoria e modificare l'allineamento di un blocco.
Note
_aligned_realloc è basato su malloc.Per ulteriori informazioni sull'utilizzo _aligned_offset_malloc, vedere report.
set di questa funzione errno in ENOMEM se l'allocazione della memoria non riesce o se la dimensione richiesta è maggiore di _HEAP_MAXREQ.Per ulteriori informazioni su errno, vedere errno, _doserrno, _sys_errlist e _sys_nerr.inoltre, _aligned_realloc convalida dei parametri.se alignment non è una potenza di 2, richiama di questa funzione il gestore non valido di parametro, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, la funzione restituisce NULL e set errno in EINVAL.
Requisiti
routine |
Intestazione di associazione |
---|---|
_aligned_realloc |
<malloc.h> |
Esempio
Per ulteriori informazioni, vedere _aligned_malloc.