struct mit call by reference in einer funktion aufrufen
-
hallo,
ich würde gern ein struct in meiner main funktion mit hilfe von referenzen in meiner nebenfunktion aufrufen.
leider ist mir nicht ganz klar wie die funktionsschnittstelle aussehen mußint funktion (??????) { pzeiger->i=123; .... } void main (void) { struct daten { int i; int n; }; struct daten nummern; struct daten *pzeiger; funktion(???????); }
für hilfe wäre ich dankbar
-
ich würde gern ein struct [...] in meiner nebenfunktion aufrufen.
eigentlich willst du die adresse des "daten"-objektes an deine funktion uebergeben; die wiederum erhaelt dann einen pointer auf "daten" - dazu muss "daten" auch fuer "funktion()" bekannt sein:
struct daten { int i; int n; }; int funktion (struct daten *pzeiger) { pzeiger->i=123; } void main (void) { struct daten nummern; funktion(&nummern); }
-
danke für deine antwort
aber sind die int im daten-struct jetzt nicht globale variablen ?
mir wurde mal gesagt, dass globale variablen böse sind und sollten nur in notfällen benutzt werden
-
die struct ist nur eine typen-definition.
tatsaechliche daten existieren erst in dem moment, wo du wirklich eine variable dieses typs anlegst - das passiert bei dir aber erst in "main".
-
achso
vielen dank für deine hilfe