Bonjour à tous,
Je débute en C et je dois réaliser un programme de cryptage RSA donc je manipule des tableaux d'int afin de pouvoir utiliser des entiers de l'ordre de 1024bits.
J'ai donc plusieurs fonctions qui font des calculs sur ces entiers et donc j'ai de nombreux malloc.
Ma question est la suivante : comment libérer la mémoire réservée par un malloc si la fonction retourne l'objet stocké dans cette mémoire ? Je m'explique :
1 2 3 4 5 6 7 8 9 10 11
|
type1 * addition ( type1 * A, type1 * B)
{
type1 * C;
/* le code */
C = (type1 *) malloc (sizeof(type1));
C->taille = a;
C->valeur = (int *) malloc (C->taille*sizeof(int));
/* la suite du code */
return C;
} |
Avec cette fonction où dois je placer le free(C) ?
Merci d'avance de votre aide,
Mickael
Partager