Funktionsübergabe von mehrdimens. Arrays
-
Tach Leute
Ich kriege absolut nicht hin ein 2 bzw. 3 dimensionales Array in einer Funktion zu übergeben ! Oder ein pointer auf dem Array !!!
Ich habe es so versuchtmain.cpp
# include "mein.h"
void main()
{
double spalten [101] [101];
// Array füllen
spalten(array);
}void spalten(array[] []);
{//machewas
}
mein.h
extern void spalten(double array[] []);Kann mir bitte einer sagen wie die Schnittstellen für solche Arrays aussehen
MFG Soulfly
-
Das geht meines Wissens in ANSI-C nur so, dass du den zweiten Index angeben musst.
void spalten(array[] [101]);
-
Hab hier mal ein kleines Beispiel wie man es machen könnte:
#include <stdio.h> void DoSomething( double xDimArray[][2] ); int main( int argc, char* argv[] ) { double spalten[2][2] = { { 2.3456, 4.5678 }, { 3.4567, 5.6789 } }; DoSomething( spalten ); return 0; } void DoSomething( double xDimArray[][2] ) { int f, j; for( f = 0; f < 2; f++ ) for( j = 0; j < 2 ; j++ ) printf( "\nxDimArray[%d][%d] = %f", f, j, xDimArray[f][j] ); }
Ich glaube es sollte auch sogar laufen
edit: du solltest deine Variablen allerdings in der Header definieren, und sie dann in (z.b.) der main.c über extern bekannt machen. Und wie schon gesagt, füllt man bei mehrdimensionalen Felder die Größen der einzelnen Zellen von rechts nach links
[ Dieser Beitrag wurde am 22.01.2003 um 22:50 Uhr von guard editiert. ]
-
Jip danke schön hat mich weitergebracht