struct als referenez an funktion zurückgeben
-
Hi,
in meinem Programm habe ich eine globale Struktur. Diese möchte ich einer Funktion übergeben, welche die Struktur verändert. Ich möchte die Struktur als Referenz übergeben, damit ich nach dem Funktionsaufruf mit der veränderte Struktur arbeiten kann. Hier ist mein Code. Leider verändert er nichts. Kann mir jemand sagen was ich ändern muss?
struct structure { int val[256]; }mystruct; void FillStruct(structure mystruct) { for (int l = 0; l < 256; l++) { mystruct.val[l] = l*2; } } // Aufruf später im Hauptprog FillStruct(mystruct);
Eike
-
Hi,
Wenn du keine Referenz machst, kann das so natürlich auch nicht klappen.
mystruct sollte in der Funktion richtig ausgewählt werden, weil solche Zugriffe sich eigentlich immer auf das ,,nächste'' Objekt beziehen, aber sicherer wäre ein anderer Name in der Funktion.Aber wie gesagt, bei dir ist das lediglich eine Call by value Übergabe ohne Referenz.
MfG MAV