Hallo
Ich hab ein Problem mit folgendem Code:
1 | #include <stdio.h>
|
2 |
|
3 | typedef struct FOO_STRUCT {
|
4 | int item1;
|
5 | int item2;
|
6 | int item3;
|
7 | } FOO_STRUCT;
|
8 |
|
9 | FOO_STRUCT myStruct;
|
10 |
|
11 | void foo()
|
12 | {
|
13 | FOO_STRUCT *ptrMyStruct = &myStruct;
|
14 | printf("Ausgabe: %d\n", ptrMyStruct->item1);
|
15 | return;
|
16 | }
|
17 |
|
18 | int main(void)
|
19 | {
|
20 | FOO_STRUCT myStruct = { 1, 11, 111};
|
21 | foo();
|
22 |
|
23 | return;
|
24 | }
|
Die Ausgabe ist immer 0, ich verstehe jedoch nicht weshalb, da foo() ja
im selben Scope aufgerufen wird wie myStruct Werte zugewiesen werden.
Somit sollte doch auch in der Funktion foo() myStruct aus main() {..}
sichtbar sein.
Wo liegt dabei der Fehler, wie kann ich den beheben? Besten Dank