Um in C mit Strings arbeiten zu können, muss entweder ein Feld von >>char<< angelegt werden oder ein Zeiger auf eine Zeichenkette gesetzt werden.
// prog1.c // Anlegen von Zeichenketten #include <stdio.h> #include <string.h> int main( ) { // Zeiger auf Hallo char *zeichenkette = "Hallo"; printf("%s", zeichenkette); // Gesamte Zeichenkette ausgeben = Hallo printf("%c", zeichenkette[0]); // Erstes Zeichen der Kette ausgeben = H // Speicherung im Array, durch fest angegebene größe char arrZeichenkette1[6] = "Hallo"; printf("%s", arrZeichenkette1); printf("%c", arrZeichenkette1[1]); // Zweites Zeichen der Kette ausgeben = a // Speicherung im Array, größe wird hier dynamisch der Zeichenanzahl angelegt char arrZeichenkette2[] = "Hallo"; printf("%s", arrZeichenkette2); printf("%c", arrZeichenkette2[2]); // Drittes Zeichen der Kette ausgeben = l return 0; }
// prog2.c // Zeichenkette Rückwärts ausgeben #include <stdio.h> #include <string.h> int main( int argc, char *argv[] ) { // Zeiger auf Ende der Zeichenkette setzen char *c = argv[1] + sizeof(char)*strlen(argv[1]); // Ausgabe der Zeichen durch erniedrigen des Zeigers bei jedem Durchlauf int i = strlen(argv[1]); for(i; i>0; i--) printf("%c", *(--c) ); // *(--c) Zeiger eins nach vorne und aktuelles char ausgeben return 0; } /* Eingabe: ./prog1 Hallo Ausgabe: ollaH */