Salut a tous,
J'ai discuté avec quelqu'un à propos de ce code:
Il paraitrait que celui ci possède "une erreur de conception" à cet endroit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <stdio.h> #include <stdlib.h> void func(void* mem,int taille) { if ( (mem= (void*) realloc(mem,taille+10)) ==NULL) {printf("Erreur de réallocation\n");} }
car cela empecherait la fonction appelante de libérer la mémoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ( (mem= (void*) realloc(mem,taille+10)) ==NULL)
Le code appropriée me dit-on serait le suivant:
Alors quel est la vérité sur le sujet ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <stdio.h> #include <stdlib.h> void func(void* mem,int taille) { void* temp; if ( (temp= (void*) realloc(mem,taille+10)) ==NULL) {printf("Erreur de réallocation\n");} else {mem=temp;} }
Merci d'avance a ceux qui fourniront un avis!
Partager