En C

Moustiquet Messages postés 254 Statut Membre -  
fiddy Messages postés 441 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
Configuration: SustemeMicosoft Windows version 5.1.2600 Srevive 2 Processeurx86 Family 15 modele4 BiosPhoenix Tech memoire physique totale 512

1 réponse

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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