我无法理解为什么会收到此错误:
error : expected identifier before '(' token
每次我想在Etat结构中填充Trans结构的数据时出现错误
以下是代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct Transition Transition;
struct Transition
{
char symb[5];
int nvEtat[5];
};
typedef struct Etat Etat;
struct Etat
{
int etat;
Transition trans;
int estFinal; /* Etat final ou non */
Etat *suivant;
};
Etat *tete=NULL;
Etat *p;
/*_______________________________________________________________
*/
void Ajouter(void){
int i,j,k;
Etat *nouveau;
j=0;
while(j=0)
{
nouveau = calloc(1,sizeof (struct Etat));
if(nouveau!=NULL){
printf("\nNumero de l'etat : ");
scanf("%d",&(nouveau->etat));
i=0;
for(i=0;i<5;i++)
{
nouveau->(trans->symb[i]) = 'a' ; /*initialize all symbols to a*/
}
i=0;
while(k==0 && i<5)
{
printf("Avec quel symbole vers le nouvel etat : ");
scanf(" %c",&(nouveau->(trans->symb[i])));
printf("Vers quel etat : ");
scanf("%d",&(nouveau->(trans->nvEtat[i])));
printf("Y a t-il encore des transition depuis cet etat ? (0 pour oui ) ");
scanf("%d",&k);
i++;
}
printf("\nEst ce que c'est un etat final ? ( 0 final , 1 non )");
scanf("%d",&(nouveau->estFinal));
if(tete==NULL){
tete=nouveau;
}else{
p = tete;
while(p->suivant !=NULL){
p=p->suivant;
}
p->suivant = nouveau;
}
printf("\nVoulez vous ajouter une autre transition? (0 pour ajouter) ");
scanf("%d",&j);
}else{
perror("\nPas assez de memoire ");
exit(1);
}
}
}
/*_______________________________________________________________
*/
/*_______________________________________________________________
*/
int main(void){
Ajouter();
Afficher();
return 0;
}
如果你能给我一种使用结构类型的方法,比如&#34;转型&#34;在另一个非常有用的结构中!
感谢您的帮助。
PS:我会尝试用英语翻译printfs,如果它有助于理解代码