Ich glaube deine Frage zu verstehen und versuche daher mal eine Antwort.

Es gibt keinen Datentyp string in C. In anderen Sprachen schon. Als String wird in C ein Array of Chars bezeichnet. Was du also brauchst ist ein Array of Arrays of Chars, anders gesagt ein zweidimensionales Array of Chars, etwa so:

char Texte[5][10];

Das sind 5 Texte mit einer jeweiligen Länge von maximal 9 Zeichen plus der Endekennung durch '\0'.

Wie geht man damit um? Hier ein Beispiel:
Code:
char texte[][10] = {"eins", "zwei", "drei"};

int main(int argc, char** argv) {

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

    strcpy(texte[1], "neu");

    printf("%s\n", texte[1]);
}
Dazu ein paar Bemerkungen: Die erste Dimension des zweidimensionalen Arrays kann man sich vom Compiler auszählen lassen, daher ist beim Initializer die erste eckige Klammer leer. Die zweite muß man selber einsetzen. Sie muß so groß sein, daß der längste Text (plus '\0') reinpasst.

So wie bei char Text[10], Text die Adresse des Anfangs des Arrays ist, die man z.B. mit printf("%s", Text) ausgibt, ist texte[1] die Adresse des zweiten Char-Arrays oder Strings.

Ich bin sicher nicht der große Lehrbuchschreiber, hoffe aber doch daß ich das verständlich formuliert habe und daß es dein Problem trifft.

Achso, die Ausgabe des obigen Programms ist:

zwei
neu

MfG Klebwax