_aligned_realloc

 

Visual Studio 2017 에 대한 최신 설명서는 Visual Studio 2017 설명서를 참조하세요.

할당 된 메모리 블록의 크기를 변경 _aligned_malloc 또는 _aligned_offset_malloc합니다.

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

매개 변수

[in] memblock
현재 메모리 블록 포인터입니다.

[in] size
요청된 메모리 할당 크기입니다.

[in] alignment
2의 정수 제곱이어야 하는 맞춤 값입니다.

_aligned_realloc는 다시 할당된(그리고 이동되었을 수 있는) 메모리 블록에 대한 void 포인터를 반환합니다. 크기가 0이고 버퍼 인수가 NULL이 아닌 경우 또는 버퍼를 지정된 크기로 확장하는 데 사용할 수 있는 메모리가 부족한 경우 반환 값은 NULL입니다. 첫 번째 경우 원래 블록이 해제됩니다. 두 번째 경우 원래 블록은 변경되지 않습니다. 반환 값은 모든 형식의 개체 저장을 위해 적절하게 맞도록 보장되어 있는 저장소 공간을 가리킵니다. void가 아닌 형식의 포인터를 얻으려면 반환 값에 형식 캐스팅을 사용합니다.

메모리를 다시 할당하고 블록의 맞춤을 변경하면 오류가 발생합니다.

_aligned_realloc에 따라 malloc합니다. 사용 하는 방법에 대 한 자세한 내용은 _aligned_offset_malloc, 참조 malloc합니다.

이 함수는 메모리 할당에 실패한 경우 또는 요청된 크기가 errno보다 큰 경우 ENOMEM_HEAP_MAXREQ으로 설정합니다. 에 대 한 자세한 내용은 errno, 참조 errno, _doserrno, _sys_errlist 및 _sys_nerr합니다. 또한 _aligned_realloc는 매개 변수의 유효성을 검사합니다. 경우 alignment 거듭제곱이 아닌 2의이 함수는 잘못 된 매개 변수 처리기를 호출에 설명 된 대로 매개 변수 유효성 검사합니다. 계속해서 실행하도록 허용한 경우 이 함수는 NULL을 반환하고 errnoEINVAL로 설정합니다.

루틴필수 헤더
_aligned_realloc<malloc.h>

자세한 내용은 참조 _aligned_malloc합니다.

데이터 맞춤

표시: