共用方式為


_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 指標。傳回值是NULL如果大小為零,而緩衝區引數不是NULL,或如果沒有足夠的記憶體來展開區塊,以指定的大小。如為前者,釋放原始的區塊。在第二個案例中,原始的區塊不變。傳回的值會指向儲存空間,以保證會適當地對齊來儲存任何型別的物件。取得變數的指標型別不是 void,在使用傳回的值時,施展型別。

就會重新配置記憶體,並變更區塊的對齊方式的錯誤。

備註

_aligned_recalloc根據malloc。如需有關使用**_aligned_offset_malloc**,請參閱 malloc

這個函式會設定errno到ENOMEM記憶體配置失敗,或是要求的大小已超過_HEAP_MAXREQ。如需 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