Sdílet prostřednictvím


_recalloc

Kombinace realloc a calloc.Reallocates pole v paměti a inicializuje její prvky na 0.

void *_recalloc( 
   void *memblock
   size_t num,
   size_t size 
);

Parametry

  • memblock
    Ukazatel na bloku dříve přidělené paměti.

  • num
    Počet prvků.

  • size
    Délka v bajtech každý prvek.

Vrácená hodnota

_recallocVrátí void ukazatel na blok paměti reallocated (a případně přesunutý).

Pokud není k dispozici dostatek paměti rozbalit do dané velikosti bloku, původní blok ponecháno změny, a NULL je vrácena.

Pokud požadovaná velikost je nula, je blok odkazuje memblock je uvolněna; Vrácená hodnota je NULL, a memblock je ponechána na uvolněné bloku.

Vrácená hodnota odkazuje na úložný prostor, který je zaručeně vhodně zarovnání pro skladování jakýkoli typ objektu.Získání ukazatele typu než void, použijte typ odevzdaných na vrácenou hodnotu.

Poznámky

_recalloc Funkce změní velikost bloku přidělené paměti.memblock Argument se odkazuje na začátku bloku paměti.Pokud memblock je NULL, _recalloc se chová stejně jako calloc a alokuje nový blok num * size bajtů.Každý prvek je inicializován 0.Pokud memblock není NULL, by mělo být ukazatel vrácený předchozí volání k calloc, malloc, nebo realloc.

Protože nový blok lze do nového umístění v paměti, ukazatel vrácený _recalloc je nemusí být ukazatel prošla memblock argument.

_recallocNastaví errno na ENOMEM selhání přidělení paměti nebo množství paměti požadované přesahuje _HEAP_MAXREQ.Informace o této a dalších chybové kódy, errno, _doserrno, _sys_errlist, and _sys_nerr.

recallocvolání realloc pro použití C++ _set_new_mode funkce nastavit nový režim zpracování.Nový režim zpracování označuje, zda při selhání, realloc k volání rutiny nové nastaveném _set_new_handler.Ve výchozím nastavení realloc nemůže volat nové rutiny při selhání přidělení paměti.Toto výchozí chování můžete změnit tak, aby, když _recalloc selhání přidělení paměti, realloc volání rutiny nové stejným způsobem, že new operátor nemá selže z téhož důvodu.Chcete-li přepsat výchozí nastavení volání

_set_new_mode(1)

brzy v programu nebo propojení s NEWMODE.OBJ.

Při použití spojen s ladicí verzi C Runtime knihovny _recalloc převede na _recalloc_dbg.Další informace o způsobu je během ladění procesu správy haldy, viz The CRT ladění haldy.

_recallocje označena __declspec(noalias) a __declspec(restrict), což znamená, že funkce je zaručena upravit globální proměnné, vrácený ukazatel není s aliasem.Další informace naleznete v noalias a omezit.

Požadavky

Rutina

Požadované záhlaví

_recalloc

<stdlib.h> a <malloc.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Přidělení paměti

_recalloc_dbg

_aligned_recalloc

_aligned_offset_recalloc

free

Koncepty

Možnosti odkazů