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