ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 28 déc. 2005 à 19:03
int *x;
int t;
x=&t; // x va pointer sur t, ok
x=new int[2]; // x pointera vers un nouveau tableau
if (t==NULL) // t n'a JAMAIS été initialisé et n'est pas un pointeur et ne permet pas de tester
l'allocation.
un truc du genre int** t = &x;
et if(*t == NULL) serait ok
t serait un pointeur vers x
*t donnerait la valeur actuelle de x
x étant également un pointeur
x=new int[nbcases];
for(i=0;i<=nbcases;i++) // la boucle va trop une case loin, écrasement mémoire.
Il manque la libération mémoire finale.
Conclusion : beaucoup d'erreurs sur un petit code, pas sûr que cela aide beaucoup de monde...
28 déc. 2005 à 19:03
int t;
x=&t; // x va pointer sur t, ok
x=new int[2]; // x pointera vers un nouveau tableau
if (t==NULL) // t n'a JAMAIS été initialisé et n'est pas un pointeur et ne permet pas de tester
l'allocation.
un truc du genre int** t = &x;
et if(*t == NULL) serait ok
t serait un pointeur vers x
*t donnerait la valeur actuelle de x
x étant également un pointeur
x=new int[nbcases];
for(i=0;i<=nbcases;i++) // la boucle va trop une case loin, écrasement mémoire.
Il manque la libération mémoire finale.
Conclusion : beaucoup d'erreurs sur un petit code, pas sûr que cela aide beaucoup de monde...