Bonjour,
le but de l'exercice est de lire un annuaire téléphonique mais en compilant il me sort invalif type argument of ->. quel est mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include<stdio.h>
#include<stdlib.h>
 
struct fiche{
  char nom[50];
  char prenom[30];
  char tel[40];
}; 
 
 
 
 
 
void affiche(struct fiche *f){
  int i;
    for (i=0;i<3;i++){
      printf("personne: %s %s  %s\n",f[i]->nom,f[i]->prenom,f[i]->tel);
    }
}
 
int main(){
  struct fiche f[3]={{"alpha","jean","44719"},{"beta","alain","442749"},{"omega","sophie","344757"}};
  affiche(f);
  return 0;
}
j'arrive à l'afficher en utilisant ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include<stdio.h>
#include<stdlib.h>
 
struct fiche{
  char nom[50];
  char prenom[30];
  char tel[40];
}; 
 
 
 
 
 
void affiche(struct fiche *f){
  int i;
    for (i=0;i<3;i++){
      printf("personne: %s %s  %s\n",f[i].nom,f[i].prenom,f[i].tel);
    }
}
 
int main(){
  struct fiche f[3]={{"alpha","jean","44719"},{"beta","alain","442749"},{"omega","sophie","344757"}};
  affiche(f);
  return 0;
}
mais si j'ai bien comprit mon cour quand on utilise le . on ne modifie les données uniquement dans la fonction(main ou autre) ou on l'utilise contrairement à ->.
Donc dans mes cours le professeur n'utilise que -> mais je n'y arrive pas
Peut t'on m'expliquer comment fonctionne le -> et pourquoi dans mon exemple cela ne fonctionne pas?