Hallo!
Ich habe jetzt versucht eine Funktion zu schreiben die genau denselben Typ übergibt wie in meinen vergefertigten Funktionen. Denn auf den Code innerhalb der Funktionen habe ich keinen Zugriff. Das ist mir allerdings nur mit einem zweidimensionalem Array gelungen. Wie müßte eine Zuweisung in einer Funktion aussehen, die die gleiche Variable zurückgibt?
Hi Peter:smile:)
Definition der Funktion:
void Funktion(char** Code, int* Size)
Also, es scheint so, als wuerde diese
Funktion den Zeiger auf dein Char-Array
auch ausserhalb der Funktion veraendern
wollen. Innerhalb dieser Funktion kannst
du ganz normal mittels (*Code)[i] auf die
i-te Komponente deines Char-Arrays
zugreifen. Du hast wahrscheinlich
*Code[i] versucht (also die Klammern
weggelassen), was deswegen nicht
funktioniert, weil eckige Klammern
hoehere Prioritaet haben als der
Dereferenzierungs-Opertaor.
Zugriff auf die Funktion:
Funktion(&Code, &Size);
Es wird die Adresse der Variablen Code
uebergeben, also nicht der char-Zeiger
selbst. Deswegen musst du innerhalb
obiger Funktion (*Code) schreiben, um den
Zeiger selbst zu erhalten!
mit den Variablendefinitionen:
char* Code;
int Size;
Ja, das ist klar.
Ausserhalb der Funktion kannst du also
mittels Code[i] auf die einzelnen
Komponenten des char-Arrays zugreifen.
Genau das funktioniert aber nicht. Das war nämlich mein erster Versuch.
Ist C nicht eine geile Sprache
))
Naja, da bin ich mir noch nicht so sicher. Mitlerweile habe ich schon einige Programme recht passabel hinbekommen. Aber dieses Problem beschäftigt mcih schon seit einem Jahr und ich komme zu keiner Lösung. Und das ärgert mich, und somit ärgert mich die Sprache
((
cu Stefan.
Danke
Peter