Die Zeile accounts[2]
in der zweiten typedef
verursacht den Fehler.
den Code Ändern Sie den specfication übereinstimmen. Beispielsweise können Sie die Zeile löschen oder einen Variablennamen und ein Semikolon zur Zeile hinzufügen, um den Fehler zu beheben.
typedef struct{
char name[40];
/* accounts[2] */
accounts hoge[2];
}client[3];
anzumerken, dass der Code accounts
als eine Art erklärt, die 2-Element-Array des struct account_number
und balance
aufweist. accounts hoge[2];
wird 2x2 Array der Struktur sein. So wird client
ein Typ sein, der ein 3-Element-Array ist.
Wenn Sie wollen einfach nur Typen erstellen, die Strukturen sind, nicht Arrays von Strukturen, können Sie wie folgt schreiben:
typedef struct {
int account_number;
float balance;
}accounts_t;
accounts_t accounts[2];
typedef struct{
char name[40];
accounts_t accounts[2];
}client_t;
client_t client[3];
Beachten Sie, dass in diesem Code accounts
im strucct client_t
1- ist Dimention Array von 2 Elementen, nicht 2x2 Array.
@ ManuelGonzález [Korrigierte Code funktioniert] (http://melpon.org/wandbox/permlink/R1CHr8038cJ8T9Fa). Welchen Fehler bekommst du? – MikeCAT
Nach tun, was Sie gesagt haben diese Fehlermeldung angezeigt: prac5_2.c: In der Funktion 'main': prac5_2.c: 24: 14: Fehler: expected Ausdruck vor 'Kunden' scanf ("% s", Client [0]. Name); –
@ ManuelGonzález Wie gesagt, 'Klient' keine Variable ist, sondern ein Typname. Deklarieren Sie Variablen mit dem Typ und verwenden Sie sie stattdessen. – MikeCAT