1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| int main(int argc, char** argv) {
int ret = -1;
int *p = NULL, *p2=NULL;
int n;
// Récuperer le nbre d'éléments su tableau
scanf("%d", & n);
// Allouer le tableau
p = malloc(n * sizeof(int));
if (p == NULL) { // Il vaut mieux plutôt vérifier le pb
fprintf(stderr, "Erreur alloc(%d) - %s\n", n, strerror(errno));
// La fonction ne peut plus continuer son travail
goto cleanup;
}
p2 = malloc(n * sizeof(int));
if (p2 == NULL) { // Il vaut mieux plutôt vérifier le pb
fprintf(stderr, "Erreur alloc(%d) - %s\n", n, strerror(errno));
// La fonction ne peut plus continuer son travail
goto cleanup;
}
// A partir d'ici, utiliser le pointeur comme un tableau ordinaire
// p[0] pour le premier élément, p[n-1] pour le dernier
ret = 0;
// Libérer la mémoire, NE JAMAIS OUBLIER
cleanup:
free(p);
free(p2);
return ret;
} |
Partager