Hallo Leute, wie bekomme ich die Startadresse einer Struct raus? z.B.
1 | struct
|
2 | {
|
3 | uint8_t a[15]; |
4 | uint16_t b[105]; |
5 | } test; |
|
|
Forum: Mikrocontroller und Digitale Elektronik Startadresse StructHallo Leute, wie bekomme ich die Startadresse einer Struct raus? z.B.
grobe_Leberwurst schrieb: > Wie würde dann ein Zeiger darauf aussehen? auch wie bei jeder anderen Variable. Sinnvollerweise vergibt man der Struct einen eigenen Namen, eventuell sogar mit Typedef dann ist es einfacher.
Bei deinem jetzigen Beispiel bekomme ich den Fehler "unknown type name 'myStructS'" grobe_Leberwurst schrieb: > Bei deinem jetzigen Beispiel bekomme ich den Fehler "unknown type name > 'myStructS'" ja war noch ein Fehler drin:
Vielen Dank, jetzt stimmt die reale Startadresse schon mal mit der überein die im Zeiger steht. Dennoch eine weitere Frage, wie kann ich auf einzelne Bytes der Struct zugreifen. so (erstes Byte)
scheint es nicht zu funktionieren. grobe_Leberwurst schrieb: > uint8_t temp = *y; scheint es nicht zu funktionieren. weil es nicht wirklich sauber ist. Es können auch Lücken in der Struct sein. Wenn man es will, muss den dem Compiler zwingen.
Super es funktioniert, zwar Komplizierter als gedacht aber na gut.
grobe_Leberwurst schrieb: > Super es funktioniert, zwar Komplizierter als gedacht aber na gut. > uint8_t temp = *((y->a)+z); ?? z soll wohl ein Index sein, aber dann verwende doch bitte die normale Notation:
Meine Güte, hol dir ein C-Buch... Beitrag "Endadresse struct" Da der Thread geschlossen wurde, werden wir wohl nie erfahren, wozu jemand die Endadresse eines structs braucht :-( schrieb: > Beitrag "Endadresse struct" > Da der Thread geschlossen wurde, werden wir wohl nie erfahren, wozu > jemand die Endadresse eines structs braucht :-( um was anzuhängen ;-) Ich zitiere meinen Moderatorkollegen von dort: >> Wir sind nicht dazu da, Hausaufgaben zu lösen. >> Man kann durchaus auch mal selber suchen. Und diese träge Masse zwischen den Ohren in Betrieb nehmen... >> Hier wird jetzt dichtgemacht. |
|