Pointer auf Struct übergeben
-
Hallo,
wie kann ich einer Funktion einen Zeiger auf eine Structur übergeben?
Das folgende funktoniert nicht.Declaration:
typedef struct { unsigned char a; unsigned char b; }TEST; //--------------------------
Implementation:
TEST test; Instanz erzeugen main() { blah(&test); } //-------------------------------- // //-------------------------------- void blah(TEST* data) { test.a = 1; test.b = 2; }
-
wenn du schon adressen von strukturen übergibts, muss du erstens auf den namen
des parameters achten und den pfeiloperator verwenden.#include <stdio.h> #include <stdlib.h> typedef struct { unsigned char a; unsigned char b; }TEST; void blah(TEST *data); int main() { TEST test; blah(&test); return 0; } void blah(TEST* data) { data->a = 1; data->b = 2; }
-
Danke für Deine Hilfe.
Das mit dem Namen war nur ein Schreibfehler.
Natürlich meinte ich
data.a = 1;Das Problem war, das ich den Punkt anstatt den Pfeiloperator verwendet habe.