Wie Übergebe ich ein 2dim Array an eine Funktion?
-
Hallo!
Wie Übergebe ich ein 2dim Array an eine Funktion?
und wie muss das aussehen das diese FKT. ein 1dim Array zurückgibt?Danke!
Euer blutiger Anfänger
-
frosti9999 schrieb:
Hallo!
Wie Übergebe ich ein 2dim Array an eine Funktion?
http://c-faq.com/aryptr/pass2dary.html
http://c-faq.com/aryptr/ary2dfunc2.htmlfrosti9999 schrieb:
und wie muss das aussehen das diese FKT. ein 1dim Array zurückgibt?
Eine Funktion kann kein Array zurückgeben, nur einen Zeiger auf ein Array.
-
zu 1: Die Übergabe an eine Funktin ist genauso, wie mit einem eindimensionalen Array, nur, daß Du in den Übergabeparametern beide Dimensionierungen angibst.
zu 2.: Guggst Du da
http://pronix.linuxdelta.de/C/standard_C/c_programmierung_14.shtml#6
-
Elektronix schrieb:
zu 2.: Guggst Du da
http://pronix.linuxdelta.de/C/standard_C/c_programmierung_14.shtml#6Fangt so einen Scheiss erst gar nicht an.
-
Warum nicht?
Eine Funktion kann kein Array zurückgeben, nur einen Zeiger auf ein Array.
Dann sollte man aber erwähnen, daß ein Array, das in einer Funktion angelegt wird, nach Beenden der Funktion ungültig wird und der ominöse Zeiger ins Leere zeigt- Außer, das Array ist static oder außerhalb der Funktion deklariert!
-
Elektronix schrieb:
Warum nicht?
Hmmm, weil es einfach nicht schön ist eine Struktur zu vergewaltigen um ein "Array zurückzugeben"? Weil es bei größeren Arrays einfach lahmer ist?
Elektronix schrieb:
Eine Funktion kann kein Array zurückgeben, nur einen Zeiger auf ein Array.
Dann sollte man aber erwähnen, daß ein Array, das in einer Funktion angelegt wird, nach Beenden der Funktion ungültig wird und der ominöse Zeiger ins Leere zeigt- Außer, das Array ist static oder außerhalb der Funktion deklariert!
Das sind Basics von Speicherklassen. Wer sich schon mit mehrdimensionalen Arrays beschäftigt sollte das schon alles verinnerlicht haben.
Sorry, das nächste Mal schreibe ich ein Buch vollständig ab.
-
@TactX
Naja, wer fragt, wie man ein mehrdimensionales Array übergibt, scheint so viel Erfahrung insgesamt noch nicht zu haben. Immerhin hat er was von "Blutiger Anfänger" geschrieben. Deswegen hielt ich das für erwähnenswert.
-
Hast ja recht
-
naja da werd ich jetzt mal versuchen aus euren Antworten das beste drauss zu machen
danke aber erstmal
-
TactX schrieb:
Elektronix schrieb:
@TactX
Warum nicht?Hmmm, weil es einfach nicht schön ist eine Struktur zu vergewaltigen um ein "Array zurückzugeben"? Weil es bei größeren Arrays einfach lahmer ist?
...und weil's ein eventuell ein verstecktes 'memcpy' aufruft. andererseits kann man's ja nutzen als 'object factory'