_aligned_offset_realloc

İle ayrılmış bir bellek bloğu boyutunu değiştirir _aligned_malloc veya _aligned_offset_malloc.

void * _aligned_offset_realloc(
   void *memblock, 
   size_t size, 
   size_t alignment,
   size_t offset
);

Parametreler

  • memblock
    Geçerli bellek blok işaretçisi.

  • size
    Bellek ayırma boyutu.

  • alignment
    2 Tamsayı gücünü olmalıdır hizalama değeri.

  • offset
    Hizalama zorlamak için bellek ayırma Ofset.

Dönüş Değeri

_aligned_offset_reallocreallocated (ve büyük olasılıkla taşınan) bellek bloğu void bir işaretçi döndürür.Dönüş değeri NULL boyutu sıfır ve arabellek değil, NULL, ya da blok verilen boyuta genişletmek için yeterli kullanılabilir bellek değilse.Bu durumda, özgün blok serbest bırakılır.İkinci durumda, özgün blok değişmedi.Dönüş değeri herhangi bir nesne türünü depolanması için yeterince hizalanması için garantili bir depolama alanı işaret eder.Dönüş değerini artığını türü void, kullanım dışında bir türü işaretçisi almak için.

_aligned_offset_reallocişaretlenmiş __declspec(noalias) ve __declspec(restrict), işlev genel değişkenleri değiştirmek için garantili ve işaretçiyi verdiğini başka ad verilmiş değil.Daha fazla bilgi için bkz: noalias ve kısıtlamak.

Notlar

Gibi _aligned_offset_malloc, _aligned_offset_realloc yapısı içinde bir uzaklığındaki hizalanmış bir yapı sağlar.

_aligned_offset_reallocesas malloc.Kullanma hakkında daha fazla bilgi için _aligned_offset_malloc, bkz: malloc.memblock Olan NULL, işlev çağrılarını _aligned_offset_malloc dahili olarak.

Bu işlevi ayarlar errno için ENOMEM bellek ayırma başarısız olursa veya istenen boyuta büyük _HEAP_MAXREQ.errno hakkında daha fazla bilgi için, bkz. errno, _doserrno, _sys_errlist, and _sys_nerr.Ayrıca, _aligned_offset_realloc kendi parametreleri doğrulama.alignment 2'nin üssü değil veya offset 'den büyük veya eşit olması size sıfır olmayan, bu işlevi geçersiz parametre işleyicisi açıklandığı gibi çağırır ve Parametre Doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini, bu işlev verir NULL ve errno için EINVAL.

Gereksinimler

Yordamı

Gerekli başlık

_aligned_offset_realloc

<malloc.h>

Örnek

Daha fazla bilgi için bkz: _aligned_malloc.

Ayrıca bkz.

Başvuru

Veri Hizalama