peter schrieb:
> Wenn ich die Funktion read ausführe, bekomme ich keine Fehler aber eine
> Warnung:assignment makes pointer from integer without a cast
Und das mit gutem Grund.
Eine Zahl ist nun mal keine Adresse.
Eine Zahl ist erst mal nur eine Zahl.
Aber mit einem Cast kannst du dem Compiler sagen:
"Das ist schon ok. Ich möchte gerne, dass du mir diese Zahl als
Speicheradresse auffasst. Ich übernehme die Konsequenzen und versichere
an Eides statt, dass das ok ist."
1 | void read(void)
|
2 | {
|
3 | uint8_t *rAdr_Reg;
|
4 | rAdr_Reg = (uint8_t *)ptr_read->Adresse;
|
5 | printf("Inhalt der Variablen a an der Adresse 28: %i\n", *rAdr_Reg);
|
6 | }
|
Allerdings solltest du dich fragen, ob nicht eigentlich der Datentyp von
Adresse in struct read nicht von vorneherein ein uint8_t* sein sollte.