Pointer Struct, Werte zuweisen klappt nicht.
-
Hallo,
ich habe folgendes Problem und folgende Struct´s:
typedef struct { char *name; int alter; } PERSON; typedef struct { int a; int b; MITARBEITER PERSON[20]; } DATABASE;
Beim setzen der Werte durch die Funktion:
void setze(DATABASE *db) { db->sum = 1; db->change = 2; }
Wird nur "a" gesetzt und nicht "b"(Dieser erhält einen völlig anderen Wert) Wieso das?
Funktionaufruf:
DATABASE *db; a(&db); printf("A:%i\n", &db->a); //1 printf("B:%i\n", &db->b);//NICHT 2
Was mache ich falsch?
Vielen Dank schon einmal.
-
Oben muss es natürlich heißen:
typedef struct { int a; int b; PERSON pers[20]; } DATABASE;
-
gast2345 schrieb:
db->sum = 1;
db->change = 2;Was sind denn jetzt sum und change, meinst du a und b?
gast2345 schrieb:
a(&db);
Was ist das denn?
gast2345 schrieb:
printf("A:%i\n", &db->a); //1
printf("B:%i\n", &db->b);//NICHT 2printf-Argumente werden als Wert und nicht als Adresse übergeben, du musst also
db->a
statt&db->a
übergeben.
-
Natürlich meinte ich oben a und b.
Tut mir Leid wegen der Schreibfehler