Char en String
Veeg om het menu te tonen
In C is er geen speciaal gegevenstype voor strings (tekst). In plaats daarvan wordt tekst opgeslagen als een array van char, waarbij elk element een enkel teken bevat. Bijvoorbeeld, de tekst c<>definity wordt weergegeven als een reeks tekens die in zo'n array zijn opgeslagen.
char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};
Je zult merken dat de tekst "c<>definity" 11 tekens heeft, maar de array bevat 12 elementen. Dat extra element bevat de null-terminator \0, die het einde van een string in C aangeeft.
Dit is niet het cijfer nul, maar een speciaal, niet-afdrukbaar teken (ASCII-code 0) dat het programma vertelt waar de string eindigt.
Zorg er altijd voor dat je karakterarray één element groter is dan de tekst die het bevat, om ruimte te maken voor deze terminator.
Het is belangrijk te beseffen dat 'x' en "x" niet hetzelfde zijn.
Een string bestaat uit tekens. Vergeet nooit een string af te sluiten met het teken \0.
'x'is simpelweg een tekenconstante van het type char;"x"is een string, een array van char-waarden, of in dit geval, {'x', '\0'}.
Verwar '\0', '0' en "0" niet.
'\0' is het nul-teken (ASCII 0), '0' is het cijfer nul (ASCII 48), en "0" is een string die het cijfer nul bevat plus de afsluitende \0.
Stringuitvoer
In C, wanneer je strings wilt weergeven (arrays van char-waarden), gebruik je de %s-specifier. Deze specifier geeft aan de printf()-functie door welk type informatie verwacht wordt. Door %s te gebruiken, geven we aan de printf()-functie door dat er een string zal worden ontvangen.
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; }
De C-taal bevat een standaard bibliotheek voor stringmanipulatie, <string.h>. In deze bibliotheek is er een functie die het aantal tekens in een string telt:
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; }
Onthoud, zelfs een spatie is een teken en heeft een eigen plek in de array nodig. Bijvoorbeeld: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.
Door een index te gebruiken, kun je de elementen van de string benaderen. Omdat strings in feite char-arrays zijn, kun je ook individuele tekens aanpassen via hun indexen.
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; }
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Char en String
In C is er geen speciaal gegevenstype voor strings (tekst). In plaats daarvan wordt tekst opgeslagen als een array van char, waarbij elk element een enkel teken bevat. Bijvoorbeeld, de tekst c<>definity wordt weergegeven als een reeks tekens die in zo'n array zijn opgeslagen.
char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};
Je zult merken dat de tekst "c<>definity" 11 tekens heeft, maar de array bevat 12 elementen. Dat extra element bevat de null-terminator \0, die het einde van een string in C aangeeft.
Dit is niet het cijfer nul, maar een speciaal, niet-afdrukbaar teken (ASCII-code 0) dat het programma vertelt waar de string eindigt.
Zorg er altijd voor dat je karakterarray één element groter is dan de tekst die het bevat, om ruimte te maken voor deze terminator.
Het is belangrijk te beseffen dat 'x' en "x" niet hetzelfde zijn.
Een string bestaat uit tekens. Vergeet nooit een string af te sluiten met het teken \0.
'x'is simpelweg een tekenconstante van het type char;"x"is een string, een array van char-waarden, of in dit geval, {'x', '\0'}.
Verwar '\0', '0' en "0" niet.
'\0' is het nul-teken (ASCII 0), '0' is het cijfer nul (ASCII 48), en "0" is een string die het cijfer nul bevat plus de afsluitende \0.
Stringuitvoer
In C, wanneer je strings wilt weergeven (arrays van char-waarden), gebruik je de %s-specifier. Deze specifier geeft aan de printf()-functie door welk type informatie verwacht wordt. Door %s te gebruiken, geven we aan de printf()-functie door dat er een string zal worden ontvangen.
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; }
De C-taal bevat een standaard bibliotheek voor stringmanipulatie, <string.h>. In deze bibliotheek is er een functie die het aantal tekens in een string telt:
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; }
Onthoud, zelfs een spatie is een teken en heeft een eigen plek in de array nodig. Bijvoorbeeld: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.
Door een index te gebruiken, kun je de elementen van de string benaderen. Omdat strings in feite char-arrays zijn, kun je ook individuele tekens aanpassen via hun indexen.
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; }
Bedankt voor je feedback!