Problem mit Pointer und Struct

Gast #2532592
Lesenswert?

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
Gast #2533030
Lesenswert?

warum nicht
1
typedef struct{
2
  int item1;
3
  int item2;
4
  int item3;
5
} FOO_STRUCT;
6

7
void foo( FOO_STRUCT *ptrMyStruct )
8
  printf("Ausgabe: %d\n", ptrMyStruct->item1);
9
  return;
10
}
11

12
int main(void)
13
{
14
  FOO_STRUCT myStruct = { 1, 11, 111};
15
  foo(&myStruct );
16

17
  return;
18
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren