Bonjour,

J'ai une question a poser au sujet de la place mémoire, de la création de variable s locales et globales.
Voici un code, dites moi si c'est coorectement codé, en schant qu'il marche

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
char* conver(const char *s)
{
   char *res;
   res = (char *)malloc(10);
   // je travaille avec ce tableau
 
   return res;
}
 
void main() {
   char *chaine;
   char ch[10];
 
   chaine = conver(ch);
}
si je comprends bien, dans mon main, je vais récupérer un pointeur sur un tableau que j'ai alloué dans ma fonction. Mais cela va t'il provoqué une fuite mémoire ?
Parce que si j'exécute en boucle ma fonction conver, je vais créer une multitude de malloc et jamais je n'aurai moyen de les effacer.

Autre question aussi, dans le cas ou j'aurai une fonction boite noir, cad que je ne connais pas le code qu'elle contient (je pense notement a strcpy). Comment fais t'elle pour allouer un espace memoire sans provoqué de fuite ?

Je me pose trop de questions en ce moment
Merci d'avance