_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_errlist
e _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
.