다음을 통해 공유


_aligned_recalloc

_aligned_malloc 또는 _aligned_offset_malloc 을 사용하여 할당된 메모리 블럭의 크기를 변경하고 메모리를 0으로 초기화합니다.

void * _aligned_recalloc(
   void *memblock, 
   size_t num,
   size_t size, 
   size_t alignment
);

매개 변수

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

  • [in] num
    요소 수입니다.

  • [in] size
    각 요소의 바이트 크기입니다.

  • [in] alignment
    맞춤 값은 -2의 정수 거듭제곱이어야 합니다.

반환 값

_aligned_recalloc은 재할당된(아마 이동되었을) 블록 메모리를 가리키는 void 포인터를 반환합니다. 만약 크기가 0이고 버퍼 인수가 NULL가 아니거나 혹은 주어진 크기로 블록을 확장할 충분한 메모리가 없다면 반환값은 NULL입니다. 첫번째 경우, 원래 블록은 해제됩니다. 두번째 경우, 원래 블록은 변경되지 않습니다. 반환 값은 모든 개체 형식의 저장소가 적절하게 정렬되도록 하는 것을 보증하는 저장 공간을 가리킵니다. void가 아닌 형식의 포인터를 얻기 위해서, 반환 값에 형 변환을 사용합니다.

메모리를 재할당하고 블록 정렬을 변경하는 것은 오류입니다.

설명

_aligned_recallocmalloc 을 기반으로 합니다. _aligned_offset_malloc의 사용에 대한 자세한 내용은 malloc을 참조하세요.

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

요구 사항

루틴

필수 헤더

_aligned_recalloc

<malloc.h>

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.

참고 항목

참조

데이터 맞춤

_recalloc

_aligned_offset_recalloc