Citation :
tab_personne[] est tableau d'enregistrement
|
La déclaration du paramètre était donc fausse.
Il fallait faire
void saisir_personne(personne tab_personne[], int nbper)
ou bien la déclaration équivalente, mais moins explicite
void saisir_personne (personne *tab_personne, int nbper)
Note en passant: déclarer
personne *tab_personne[]
c'est déclarer la même chose que personne *(tab_personne[]), c'est a dire que tab_personne est un tableau de (personne *), ie de pointeurs sur personne
A ne pas confondre avec
personne (*tab_personne)[] qui déclare que tab_personne est un pointeur sur (personne []), ie sur un tableau de personne
L'interprétation de personne *tab_personne[] en personne *(tab_personne[]) vient des règles de précédence du C, ou [] l'emporte.
Ce sont aussi les règles de précédence du C qui permettent d'interpréter scanf("%d",&tab_personne[i].cin); comme scanf("%d",&(tab_personne[i].cin)); par exemple.
http://www.difranco.net/compsci/C_ [...] _Table.htm
A+,
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --