Probeleme de structure

Résolu
rredondo Messages postés 7 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
voila j'ai un souci avec mon programme qui me fais sortir des erreurs que j'arrive pa a voir
voila l'erreur

C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:60: error: expected primary-expression before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:61: error: expected primary-expression before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:62: error: expected unqualified-id before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:63: error: expected unqualified-id before '=' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:65: error: expected unqualified-id before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:73: error: expected unqualified-id before '=' token

alors que normalement j'ai bien declarer ma strucutre et tt mes variable
par exemple:
struct peers1{
char ip[8];
char peer_id[40];
int port[4];
peers1 *suivant;
} t, q, tete1;
et l'erreur est itue a ce niveau:p"par exemple"
t=(peers1*)malloc(sizeof(peers1));
tete1=t;
tete1=tete1.suivant;
ca serai tres aimable de votre part si vous pouviez m'aider
merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Essaie :
    struct peers1{
    char ip[8];
    char peer_id[40];
    int port[4];
    struct peers1 *suivant;
    } t, q, tete1; 
    

    Si ça marche pas, poste ton code entier et utilise la balise conservation du code (à droite de souligner).
    Cdt
    -1
    1. rredondo Messages postés 7 Statut Membre
       
      merci d'avoir repondu aussi rapidement
      mais ca marche pa en plus je croix pas que ca es une relation avec le pointeur a l'interieur de la structure
      merci
      -1
    2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > rredondo Messages postés 7 Statut Membre
       
      je croix pas que ca es une relation avec le pointeur a l'interieur de la structure
      En tout cas, c'est bel et bien une erreur, que tu auras tôt ou tard à la compilation. Tu dois mettre le struct.

      Mais affiche ton code, histoire d'avoir une vue d'ensemble ( et n'oublie pas la balise de conservation de code).
      -1
    3. rredondo Messages postés 7 Statut Membre > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
       
      c le meme que j'ai envoye avant c juste une fonction d'initialisation pour liste c'est tt pour garder la trace de la tete
      -1
    4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > rredondo Messages postés 7 Statut Membre
       
      Non, il n'y a pas tout le code là, il me faudrait depuis le début :
      #include ...
      int main(void){ ...
         etc
         return 0;
      }
      
      -1
    5. rredondo Messages postés 7 Statut Membre > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
       
      voici le code j'ai enlever les autre fonction sinon ca ferais bcp
      #include<stdio.h>
      #include<string.h>
      #include<stdlib.h>
      struct peers1{
      char ip[8];
      char peer_id[40];
      int port[4];
      peers1 *suivant;
      } t, q, tete1;
      struct peers2{
      char ip[8];
      char port[4];
      peers2 *suivant2;
      } s, y ,tete2;
      void init();
      int main()
      {
      init();
      }
      void init()
      {
      s=(peers2*)malloc(sizeof(peers2));
      tete2=s;
      tete2=tete2.suivant2;
      q=(peers1*)malloc(sizeof(peers1));
      tete1=q;
      tete1=tete1.suivant;
      }
      -1
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    tu déclares s, tete1 et tete2 comme des structure et les utilise comme des pointeurs de structure. Forcément, ça ne peux pas aller.
    je suis pas trop bon en C (plutôt C++) mais il ne faut pas spécifier "struct peers1" dans le malloc ?
    -1
  3. rredondo Messages postés 7 Statut Membre
     
    dsl j'avais oublie d'uiliser les balises sinon c tjr le meme probleme
    error :expected unqualified-id before '=' token
    pour les lignes
    s=malloc(sizeof(struct peers2));
    tete2=s;
    tete2=tete2->suivant2;
    q=malloc(sizeof(struct peers1));
    tete1=q;
    tete1=tete1->suivant
    -1
  4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Les lignes que je t'ai données compilent bien. Donc l'erreur vient d'ailleurs. Mais, comme on n'a pas tout le code, on peut pas t'aider.
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rredondo Messages postés 7 Statut Membre
     
    slt ca marche kan on met
    s=(peer2*)malloc(sizeof(peer2)); c vrai ,c extra
    merci bcp pour ton aide
    -1
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Et bien ce n'est pas normal lol. Tu n'as pas fait de typedef, donc c'est bien struct. M'enfin bref, si ça marche c'est le principal. ;)
      -1
  7. rredondo Messages postés 7 Statut Membre
     
    j'ai oublie un truc
    cc'etais
    s=(peers1*)malloc(sizeof(struct peers1));
    c'est ce qui marche
    merci
    -1
  8. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Ah ouf, je préfère lol. Oui l'oubli peut parfois faire crier le compilateur.
    -1