Char 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.
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'}.
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
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
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; }
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
123456789101112#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
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
Char 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.
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'}.
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
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
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; }
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
123456789101112#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
Takk for tilbakemeldingene dine!