Aracılığıyla paylaş


_aligned_offset_recalloc

İle ayrılmış bir bellek bloğu boyutunu değiştirir _aligned_malloc veya _aligned_offset_malloc ve 0 bellek başlatır.

void * _aligned_offset_recalloc(
   void *memblock, 
   size_t num, 
   size_t size, 
   size_t alignment,
   size_t offset
);

Parametreler

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

  • num
    Öğe sayısı.

  • size
    Her öğenin bayt cinsinden uzunluğu.

  • 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_recallocreallocated (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_recallociş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_recalloc yapısı içinde bir uzaklığındaki hizalanmış bir yapı sağlar.

_aligned_offset_recallocesas 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 (num * size)'den büyük olan _HEAP_MAXREQ.errno hakkında daha fazla bilgi için, bkz. errno, _doserrno, _sys_errlist, and _sys_nerr.Ayrıca, _aligned_offset_recalloc kendi parametreleri doğrulama.alignment 2'nin üssü değil veya offset 'den büyük veya istenen boyuta eşit ve sıfır olmayan, açıklandığı gibi bu işlevi geçersiz parametre işleyicisini çağırır 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_recalloc

<malloc.h>

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Veri Hizalama

_recalloc

_aligned_recalloc