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
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 ?
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); }
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
Partager