Zeiger auf Strukturen
-
test.c:30:61: Fehler: expected »=« before »->« token
(Basiert auf http://c.learncodethehardway.org/book/ex17.html):
#include <stdio.h> #include <assert.h> #include <stdlib.h> #include <errno.h> #include <string.h> #define MAX_DATA 512 #define MAX_ROWS 100 int main () { struct Address { int id; int set; char name[MAX_DATA]; char email[MAX_DATA]; }; struct Database { struct Address rows[MAX_ROWS]; }; struct Connection { FILE *file; struct Database *db; }; struct Connection conn = {.file = fopen("Zed.txt", "r"), .db->rows[0].id = 10};
-
Und wo zeigt db hin?
Oder: Mit welchem Wert wird db initialisiert?
-
Schließlich sehe ich den Fehler.
Meine Definition und Initialisierung sollten sein:
struct Connection conn = {.file = fopen("Zed.txt", "r"), .db = malloc(sizeof (struct Database))}; conn.db->rows[0].id = 10;
-
C99-Modus des Compilers aktiviert?
-> cc -std=c99