PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C]String an mehrdimensionales Array übergeben


Gast
2009-04-03, 11:38:45
Damit mein Code etwas kompakter wird, würd ich gern folgende im Funktionsaufruf


call("abcd", "casdf", "kkda", "sadkfasdf");


an die Funktion so übergeben, dass sie gleich in einem Array stehen. Dachte da an sowas wie


void call(char string[0][], char string[1][], char string[2][], char string[3][])


Natürlich funktioniert das nicht :) Da der Speicherplatz begrenzt ist, würd ich gern auf eine string.h verzichten. Geht das irgendwie?

Später will ich das ganze durch eine for-Schleife jagen um die Strings mit einem anderen zu vergleichen. Deshalb wärs praktisch, wenn das ganze in nem Array wär, da kann ich den Laufindex sauber durchlaufen lassen

pest
2009-04-03, 13:11:17
void call(char **string)


musst das array natürlich dynamisch machen, da die spaltenanzahl imo zur compilezeit feststehen muss

Funky Bob
2009-04-03, 13:12:13
Du könntest den bei der Deklaration von string die Größe mit angeben:

char string[4][100];

Dann hast du aber nur eine Begrenzte Anzahl an Zeichen zur Verfügung.

Die strings terminierst du dann mit '\0' und brichst ab da die Überprüfung ab/sagst die zu vergleichenden Strings sind identisch.