En C

Moustiquet Messages postés 212 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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