title image


Smiley Re: 2dimensionale char Array als Referenz übergeben
hi, hier ein Codeschnipsel...







// DEFINITIONEN

#define MAX_ELEM 8

#define MAX_ELEM_LEN 10



// PROTOTYPING

int blabla ( char s[][MAX_ELEM_LEN] );





// FUNKTION

int blabla ( char s[][MAX_ELEM_LEN] )

{

int i;



for ( i = 0; i < MAX_ELEM; i++ ) {

sprintf ( s[i], "%d. ELEM", (i+1) );

}



return ( 0 );



}



// HAUPTFUNKTION

int main ()

{

char s[MAX_ELEM][MAX_ELEM_LEN];



blabla ( s );



for ( i = 0; i < MAX_ELEM; i++ ) {

printf ( "%s\n", s[i] );

}



return ( 0 );

}









s ist ein Speicherbereich mit MAX_ELEM*MAX_ELEM_LEN Elementen vom Typ char. Eigentlich ist dies ein eindimensionales Array. Damit daraus ein zweidimensionales Array wird, gibt man dem Compiler die Anzahl der Elemente und die Feldlänge an:



char s[MAX_ELEM][MAX_ELEM_LEN];



Damit nun alle in der Funktion blabla wissen wie lang ein Element sein kann muss ich es der Funktion mitteilen.



int blabla ( char s[][MAX_ELEM_LEN] )



Damit geht dann auch der spritnf Aufruf nicht schief:

sprintf ( s[i], "%d. ELEM", (i+1) );





Gruss d_A







geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: