Forum: Compiler & IDEs struct mit Zeiger auf Array aus structs und der zugriff darauf


von jemand (Gast)


Lesenswert?

Hallo,

ich stehe grad auf dem Schlauch, liegt vielleicht an der uhrzeit oder 
weil schon fast Freitag ist :D

also:

ich habe ein struct definiert
(das einen 16bit wert, einen zeiger auf einen String und einen Zeiger 
auf eine Funktion enthält),
nennen wir es ST_EINS.

jetzt möchte ich mehrere eindimensionale Arrays definieren die elemente 
vom typ ST_EINS enthalten (anzahl der elemente variiert).

in einem Zweiten struct, nennen wir es ST_ZWEI, möchte ich jetzt einen 
zeiger auf eines der Arrays vom datentyp ST_EINS speichern.

1
typedef void Fnct(void);
2
3
typedef struct def_struct_eins
4
{
5
    const __flash uint16  u16_Bla
6
    const __flash uint8 * pau8_Text                
7
    const __flash Fnct  * Function       
8
} ST_EINS;  
9
10
typedef struct
11
{
12
    const __flash uint16  u16_Bla
13
    const __flash uint8 * pau8_Text                
14
    const __flash /* ??? def_struct_eins ??? */
15
16
} ST_ZWEI;

wie muss ich ST_ZWEI definieren und wie greife ich dann auf die ST_EINS 
eines bestimmten array-elements aus ST_ZWEI zu?

ps: ich möchte, wie man sich sicher denken kann, ein array vom typ 
ST_ZWEI erstellen.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Must du im Handbuch deines Compilers schauen, ist offenbar nicht GCC den 
du verwendet.

von jemand (Gast)


Lesenswert?

stimmt, ich arbeite mit IAR Embedded Workbench.
Ich weiß nicht genau wie sich da der compiler genau nennt aber woher 
weißt du das es nicht GCC ist?

von Daniel V. (danvet)


Lesenswert?

Hmm...

const __flash ST_EINS * pau_ST_EINS;

von Daniel V. (danvet)


Lesenswert?

jemand schrieb:
> stimmt, ich arbeite mit IAR Embedded Workbench.
> Ich weiß nicht genau wie sich da der compiler genau nennt aber woher
> weißt du das es nicht GCC ist?

liegt wohl am "__flash"

von Daniel V. (danvet)


Lesenswert?

Johann L. schrieb:
> Must du im Handbuch deines Compilers schauen, ist offenbar nicht GCC den
> du verwendet.

C-Compiler ist C-Compiler. --> Kernighan/Ritchie

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.