Hallo,
ich habe Problem beim Zugriff auf ein Struct.
Habe ein File1.C wo die Struct als static definiert ist und auch befüllt
wird, jetzt wollte ich aus File2.C die Daten der Struct mittels Zeiger
auslesen. Dafür wollte ich einen Signleton verwenden, welcher im File2.H
Header definiert ist.
1 | //File1.H
|
2 | typedef struct{
|
3 | uint8 data;
|
4 | }meinStruct;
|
5 |
|
6 | //File1.C
|
7 | static meinStruct meinStructObjekt = {0};
|
8 |
|
9 | meinStruct * getMyStructData(void)
|
10 | {
|
11 | return &meinStructObjekt ;
|
12 | }
|
13 |
|
14 | func(void)
|
15 | {
|
16 | meinStructObjekt.data = 1;
|
17 | return;
|
18 | }
|
19 |
|
20 | //File2.H
|
21 | meinStruct * getMyStructData(void);
|
22 |
|
23 | //File2.C
|
24 | readStruct(void)
|
25 | {
|
26 | uint8 dataFromStruct = 0;
|
27 |
|
28 | meinStruct *ptrMeinStruct = getMyStructData();
|
29 | dataFromStruct = ptrMeinStruct ->data; //hier kriege ich einen Fehler, da ich lesen möchte bevor data beschrieben wurde, ich ginge von aus, ich würde hier auf das beschriebene Struct aus dem File1.C zugreifen... ist dem aber anscheinend nicht so
|
30 | return;
|
31 |
|
32 | }
|