Partager via


_aligned_recalloc

Modifie la taille d’un bloc de mémoire qui a été alloué avec _aligned_malloc ou _aligned_offset_malloc initialise la mémoire sur 0.

Syntaxe

void * _aligned_recalloc(
   void *memblock,
   size_t num,
   size_t size,
   size_t alignment
);

Paramètres

memblock
Pointeur de bloc de mémoire actif.

number
Nombre d'éléments.

size
Taille en octets de chaque élément.

alignment
Valeur d'alignement, qui doit être un entier à puissance 2.

Valeur retournée

_aligned_recalloc retourne un pointeur void vers le bloc de mémoire réalloué (et éventuellement déplacé). La valeur de retour est NULL si la taille est égale à zéro et que l’argument de mémoire tampon n’est pas NULL, ou s’il n’y a pas suffisamment de mémoire disponible pour étendre le bloc à la taille donnée. Dans le premier cas, le bloc d'origine est libéré. Dans le second cas, le bloc d'origine est inchangé. La valeur de retour pointe vers un espace de stockage adapté au stockage de n’importe quel type d’objet. Pour obtenir un pointeur vers un type autre que void, utilisez un cast de type sur la valeur de retour.

Il s’agit d’une erreur pour réallouer la mémoire et modifier l’alignement d’un bloc.

Notes

_aligned_recalloc est basé sur malloc. Pour plus d'informations sur l'utilisation de _aligned_offset_malloc, consultez malloc.

Cette fonction affecte à errno la valeur ENOMEM si l'allocation de mémoire a échoué ou si la taille demandée était supérieure à _HEAP_MAXREQ. Pour plus d’informations sur errno, voir errno, _doserrno, , _sys_errlistet _sys_nerr. De plus, _aligned_recalloc valide ses paramètres. Si alignment ce n’est pas une puissance de 2, cette fonction appelle le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, cette fonction retourne NULL et affecte la valeur errno à EINVAL.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis
_aligned_recalloc <malloc.h>

Voir aussi

Alignement des données
_recalloc
_aligned_offset_recalloc