Angenommen du möchtest in einer Satzvorlage ein spezielles Wort ändern wie z.B
Wir befinden uns im <n> Stock.
das <n> durch eine Nummer ersetzen ohne für jeden Satz einen neuen String initialisieren und speichern zu müssen. Normalerweise würdest du den String als Char Array speichern
char word[] = "ersten";
printf("Wir befinden uns im %s Stock", word);
wo du zwar die einzelnen Buchstaben ändern
word[0] = 'a';
aber den String nicht einfach überschreiben kannst.
word = "zweiten"; // Fehler
In dem Fall kannst du einen Pointer verwenden um den Inhalt an einer Speicheradresse zu ändern. So bleibt der String immer an der selben Adresse gespeichert und kann trotzdem einfach überschrieben werden.
#include <stdio.h>
#include <string.h>
int main() {
char *current = "ersten";
printf("Wir befinden uns im %s Stock\n", current);
current = "zweiten";
printf("Wir befinden uns im %s Stock\n", current);
current = "dritten";
printf("Wir befinden uns im %s Stock\n", current);
return 0;
}