Lektionsindhold -- Tastaturgenvej: 'u'  Forrige side: Kopiering af tekststreng - med håndkraft -- Tastaturgenvej: 'p'  Næste side: Tekststrenge i forhold til tegn -- Tastaturgenvej: 'n'  Forelæsningsnoter - alle slides sammen  Alfabetisk indeks  Hjælp om disse noter  Kursets hjemmeside    Tegn og Tekststrenge - slide 19 : 51

Ændringer af tekststrenge

Tekststrenge, til hvilke der er allokeret plads i et array, kan ændres (muteres)

Tekststrenge, der i kildeprogrammet er angivet som en streng konstant og refereret af en pointer, kan ikke ændres

  char str_1[] = {'A', 'a', 'l', 'b', 'o', 'r', 'g', '\0'};
  *(str_1 + 1) = 'A';     // OK

  char str_2[] = "Aalborg";
  *(str_2 + 1) = 'A';     // OK

  char *str_3 = "Aalborg";
  *(str_3 + 1) = 'A';     // Potentiel fejl. 
                          // Kan give segmentation fault under kørsel.

  char str_4[8];          // OK
  str_4[0] = 'A';  str_4[1] = 'a';  str_4[2] = 'l';  
  str_4[3] = 'b';  str_4[4] = 'o';  str_4[5] = 'r';  
  str_4[6] = 'g';  str_4[7] = '\0';     
  *(str_4 + 1) = 'A';
string-mutation.c
Hele programmet der ændrer det andet tegn i Aalborg fra 'a' til 'A'.
Gå til opgave
Funktionen strrev