En C

Fermé
Moustiquet Messages postés 212 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 27 juin 2011 - 28 oct. 2009 à 21:50
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 28 oct. 2009 à 22:09
Bonjour,
En C, si je fait un tableau ex note[8]
et je veux pas que mon tableau se limite a 8 note, quel ligne devrait-je utilisé
Il est certain que je peux mettre# define NOTE SPECIAL -1 et definir plus loin note [nb_note= NOTE SPECIAL-1], mais cela me semble pas tres elegeant
En espérant que ma note est suffisamment complète

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 843
28 oct. 2009 à 22:09
Il est certain que je peux mettre# define NOTE SPECIAL -1 et definir plus loin note [nb_note= NOTE SPECIAL-1], mais cela me semble pas tres elegeant
C'est pas que c'est pas élégant, c'est surtout faux ^^.

En fait, il faut passer par un pointeur sur une zone du heap (tableau dynamique).
int *tab=malloc(8*sizeof(int));
if (tab==NULL) ...
/* tu remplis ton tableau de huit éléments*/
realloc(tab,7*sizeof(int));
if (tab==NULL) ...
/*ici ton tableau ne contient plus que sept éléments*/

/*libération de la zone dans le heap*/
free(tab),tab=NULL;


Cdlt
0