_aligned_offset_realloc
變更大小,以已配置的記憶體區塊的 _aligned_malloc 或 _aligned_offset_malloc。
void * _aligned_offset_realloc(
void *memblock,
size_t size,
size_t alignment,
size_t offset
);
參數
memblock
目前的記憶體區塊指標。size
記憶體配置的大小。alignment
必須是整數的次方 2 對齊值。offset
若要強制對齊的記憶體配置中的位移。
傳回值
_aligned_offset_realloc在重新配置 (以及可能已移動) 的記憶體區塊會傳回 void 指標。 傳回值是NULL如果大小為零,而緩衝區引數不是NULL,或如果沒有足夠的記憶體來展開區塊,以指定的大小。 如為前者,釋放原始的區塊。 在第二個案例中,原始的區塊不變。 傳回的值會指向儲存空間,以保證會適當地對齊來儲存任何型別的物件。 取得變數的指標型別不是 void,在使用傳回的值時,施展型別。
_aligned_offset_realloc標示為**__declspec(noalias)和__declspec(restrict)**,這表示函式保證不修改全域變數,並將指標傳回不是別名。 如需詳細資訊,請參閱 noalias 和限制。
備註
就像 _aligned_offset_malloc, _aligned_offset_realloc允許在結構中的位移對齊的結構。
_aligned_offset_realloc根據malloc。 如需有關使用**_aligned_offset_malloc**,請參閱 malloc。 如果memblock是NULL,函式呼叫_aligned_offset_malloc在內部。
這個函式會設定errno到ENOMEM記憶體配置失敗,或是要求的大小已超過_HEAP_MAXREQ。 如需 errno 的詳細資訊,請參閱 errno、 _doserrno、 _sys_errlist 和 _sys_nerr。 此外, _aligned_offset_realloc驗證它的參數。 如果alignment不是 2 的次方或offset大於或等於size並不為零,這個函式叫用無效的參數處理常式中,如所述參數驗證。 如果執行則允許繼續執行,則這個函式會傳回NULL ,並設定errno到EINVAL。
需求
常式 |
所需的標頭 |
---|---|
_aligned_offset_realloc |
<malloc.h> |
範例
如需詳細資訊,請參閱 _aligned_malloc。