Typedef Struct Problem
-
Hallo mit einander,
habe ein kleines Problem bei dem ich nicht weiter komme.
Und zwar folgendes:
#include <stdio.h> typedef struct { int some_foo; int some_bar; } foo; void some_function (foo *test){ test.some_foo = 1; return; } int main(){ foo *test; some_function (test); return 0; }
nun sagt er mir, dass some_foo zu keiner structur gehört.
Ich verstehe aber nun nicht wieso, ich habe doch foo als Typ definiert,
und some_foo gehört zu der structure test.Würde mich über Hilfe freuen, danke
-
Ich denke das Problem liegt in Zeile 11. Du hast dort einen Aufruf test.some_foo aber weil test ein Pointer ist muesste das test->some_foo sein.
*Edit
Ausserdem hast du noch das Problem, dass der Pointer foo *test, den du in main() deklarierst, ins Nirgendwo zeigt. Den musst du noch initialisieren sonst crasht das Programm zur Laufzeit.
-
Beim Zugriff auf das Element eines struct-Zeigers muss es heißen:
test->some_foo = 1;