Udostępnij za pośrednictwem


_aligned_realloc

Zmienia rozmiar bloku pamięci przydzielonego za pomocą _aligned_malloc polecenia lub _aligned_offset_malloc.

Składnia

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

Parametry

memblock
Bieżący wskaźnik bloku pamięci.

size
Rozmiar alokacji żądanej pamięci.

alignment
Wartość wyrównania, która musi być całkowitą potęgą liczby 2.

Wartość zwracana

_aligned_realloc Zwraca wskaźnik void do ponownie przydzielonego (i prawdopodobnie przeniesionego) bloku pamięci. Wartość zwracana jest, jeśli rozmiar ma NULL wartość zero, a argument buforu nie NULLjest , lub jeśli nie ma wystarczającej ilości dostępnej pamięci, aby rozwinąć blok do danego rozmiaru. W pierwszym przypadku oryginalny blok zostanie uwolniony. W drugim, oryginalny blok pozostaje niezmieniony. Wartość zwracana wskazuje miejsce do magazynowania, które jest odpowiednio wyrównane do magazynu dowolnego typu obiektu. Aby uzyskać wskaźnik do typu innego niż void, użyj rzutowania typu na wartość zwracaną.

Jest to błąd podczas reallokowania pamięci i zmieniania wyrównania bloku.

Uwagi

_aligned_reallocjest oparty na .malloc Aby uzyskać więcej informacji na temat korzystania z programu _aligned_offset_malloc, zobacz malloc.

Ta funkcja ustawia errno na ENOMEM jeśli alokacja pamięci nie powiodła się lub jeśli żądany rozmiar był większy niż _HEAP_MAXREQ. Aby uzyskać więcej informacji na temat errnoprogramu , zobaczerrno , _doserrno, _sys_errlisti _sys_nerr. _aligned_realloc Ponadto weryfikuje jego parametry. Jeśli alignment nie jest mocą 2, ta funkcja wywołuje nieprawidłową procedurę obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonanie jest dozwolone do kontynuowania, ta funkcja zwraca NULL i ustawia wartość errno .EINVAL

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Procedura Wymagany nagłówek
_aligned_realloc <malloc.h>

Przykład

Aby uzyskać więcej informacji, zobacz _aligned_malloc.

Zobacz też

Wyrównanie danych