Zweidimensoinales Array an eine Funktion übergeben
-
add to sebhofer:
übergeben mit:char bar[2][3]; foo(bar); // SPEICHER MUSS AUF ALLE FÄLLE ALLOCIERT SEIN! //sonst kannst du ja nicht mit der variable arbeiten
mfG (c)h
-
danke für den zusatz chille!!
das habe ich ganz vergessen!Sebastian
-
chille07 schrieb:
add to sebhofer:
übergeben mit:char bar[2][3]; foo(bar); // SPEICHER MUSS AUF ALLE FÄLLE ALLOCIERT SEIN! //sonst kannst du ja nicht mit der variable arbeiten
mfG (c)h
bei char[2][3] musste nix allokieren, das wird automatisch angelegt...
-
ich schrieb auch:
"muss allociert sein"dh. es wird entweder automatisch allociert
oder du musst es selbst allocieren(logisch*g*)
ABER es MUSS Speicher allociert sein(dann ist nur noch die frage oba heap oder stack)mfG (c)h
-
chille07 schrieb:
ABER es MUSS Speicher allociert sein(dann ist nur noch die frage oba heap oder stack)
Oder im Nirvana
*scnr*
-
*gg*
auch eine beliebte möglichkeit!
ist aber leider selten erfolgbringend;)mfG (c)h
-
chille07 schrieb:
ABER es MUSS Speicher allociert sein(dann ist nur noch die frage oba heap oder stack)
Nein muss er nicht! Es kommt ganz darauf an was du in der Funktion damit machst. Schließlich könntest du ja auch in der Funktion den Speicher erst allokieren.
Übrigens sollte der Parameter noch ein const davorgestellt bekommen; nicht dass man in der Funktion noch auf dumme Ideen kommt ;).
@plusman
Das mit den Klassen fragst du am besten im C++-Forum nach (wenn noch nicht geschehen).
-
AJ schrieb:
Übrigens sollte der Parameter noch ein const davorgestellt bekommen; nicht dass man in der Funktion noch auf dumme Ideen kommt ;).
hmm...
wenn jemand den pointer in der funktion inkrementieren will, soll er doch. gibts dabei gefahren?Sebastian
-
-
chille07 schrieb:
@AJ:
stimmt!aber man weiss ja nie, ob er auch daran denkt?!
mfG (c)h
Deswegen ist deine Formulierung auch falsch. Er muss es nicht tun (also zwingend), sondern er sollte es tun.