Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Char og Streng | Datatyper og Variabler
C-Grunnleggende

bookChar og Streng

I C finnes det ingen dedikert datatyp for strenger (tekst). I stedet lagres tekst som et array av char, hvor hvert element inneholder et enkelt tegn. For eksempel vil teksten c<>definity representeres som en sekvens av tegn lagret i et slikt array.

char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};

Du legger kanskje merke til at teksten "c<>definity" har 11 tegn, men arrayet inneholder 12 elementer. Det ekstra elementet lagrer null-terminatoren \0, som markerer slutten på en streng i C.

Dette er ikke tallet null, men et spesielt, ikke-utskrivbart tegn (ASCII-kode 0) som forteller programmet hvor strengen slutter.

Note
Merk

Sørg alltid for at tegnarrayet ditt er ett element større enn teksten det inneholder, for å gi plass til denne terminatoren.

Det er viktig å merke seg at 'x' og "x" ikke er det samme.

En streng består av tegn. Husk alltid å avslutte en streng med tegnet \0.

  • 'x' er rett og slett en tegnkonstant av typen char;
  • "x" er en streng, et array av char-verdier, eller, i dette tilfellet, {'x', '\0'}.
Note
Merk

Ikke forveksle '\0', '0' og "0". '\0' er null-tegnet (ASCII 0), '0' er tallet null (ASCII 48), og "0" er en streng som inneholder tallet null pluss avslutningstegnet \0.

Strengutskrift

I C, når du ønsker å vise strenger (arrayer av char-verdier), bruker du spesifikatoren %s. Denne spesifikatoren instruerer printf()-funksjonen om hvilken type informasjon den skal forvente. Ved å bruke %s informerer vi printf()-funksjonen om at den vil motta en streng.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }

C-språket inkluderer et standard bibliotek for strengmanipulering, <string.h>. I dette biblioteket finnes det en funksjon som teller antall tegn i en streng:

main.c

main.c

copy
123456789101112
#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Note
Merk

Husk at selv et mellomrom er et tegn og krever sin egen plass i arrayet. For eksempel: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Ved å bruke en indeks kan du få tilgang til elementene i strengen. Siden strenger i hovedsak er char-arrays, kan du også endre individuelle tegn ved hjelp av indeksene deres.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Hvilken av følgende erklærer en streng korrekt i C?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.63

bookChar og Streng

Sveip for å vise menyen

I C finnes det ingen dedikert datatyp for strenger (tekst). I stedet lagres tekst som et array av char, hvor hvert element inneholder et enkelt tegn. For eksempel vil teksten c<>definity representeres som en sekvens av tegn lagret i et slikt array.

char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};

Du legger kanskje merke til at teksten "c<>definity" har 11 tegn, men arrayet inneholder 12 elementer. Det ekstra elementet lagrer null-terminatoren \0, som markerer slutten på en streng i C.

Dette er ikke tallet null, men et spesielt, ikke-utskrivbart tegn (ASCII-kode 0) som forteller programmet hvor strengen slutter.

Note
Merk

Sørg alltid for at tegnarrayet ditt er ett element større enn teksten det inneholder, for å gi plass til denne terminatoren.

Det er viktig å merke seg at 'x' og "x" ikke er det samme.

En streng består av tegn. Husk alltid å avslutte en streng med tegnet \0.

  • 'x' er rett og slett en tegnkonstant av typen char;
  • "x" er en streng, et array av char-verdier, eller, i dette tilfellet, {'x', '\0'}.
Note
Merk

Ikke forveksle '\0', '0' og "0". '\0' er null-tegnet (ASCII 0), '0' er tallet null (ASCII 48), og "0" er en streng som inneholder tallet null pluss avslutningstegnet \0.

Strengutskrift

I C, når du ønsker å vise strenger (arrayer av char-verdier), bruker du spesifikatoren %s. Denne spesifikatoren instruerer printf()-funksjonen om hvilken type informasjon den skal forvente. Ved å bruke %s informerer vi printf()-funksjonen om at den vil motta en streng.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }

C-språket inkluderer et standard bibliotek for strengmanipulering, <string.h>. I dette biblioteket finnes det en funksjon som teller antall tegn i en streng:

main.c

main.c

copy
123456789101112
#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Note
Merk

Husk at selv et mellomrom er et tegn og krever sin egen plass i arrayet. For eksempel: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Ved å bruke en indeks kan du få tilgang til elementene i strengen. Siden strenger i hovedsak er char-arrays, kan du også endre individuelle tegn ved hjelp av indeksene deres.

Main.c

Main.c

copy
123456789101112
#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
question mark

Hvilken av følgende erklærer en streng korrekt i C?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 6
some-alt