Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Char en String | Datatypen en Variabelen
C-Basis

bookChar 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'};

Het valt misschien op dat de tekst "c<>definity" uit 11 tekens bestaat, maar de array 12 elementen bevat. 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.

Note
Opmerking

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. Onthoud altijd om een string af te sluiten met het \0-teken.

  • 'x' is simpelweg een tekenconstante van het type char;
  • "x" is een string, een array van char-waarden, of in dit geval, {'x', '\0'}.
Note
Opmerking

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 u strings wilt weergeven (arrays van char-waarden), gebruikt u 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

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; }

De C-taal bevat een standaard bibliotheek voor stringmanipulatie, <string.h>. Binnen deze bibliotheek is er een functie die het aantal tekens in een string telt:

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
Opmerking

Onthoud, zelfs een spatie is een teken en vereist een eigen plek in de array. Bijvoorbeeld: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Door een index te gebruiken, is het mogelijk om de elementen van de string te benaderen. Omdat strings in feite char-arrays zijn, kunnen ook individuele tekens worden aangepast via hun indexen.

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

Welke van de volgende opties declareert correct een string in C?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 2.63

bookChar 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'};

Het valt misschien op dat de tekst "c<>definity" uit 11 tekens bestaat, maar de array 12 elementen bevat. 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.

Note
Opmerking

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. Onthoud altijd om een string af te sluiten met het \0-teken.

  • 'x' is simpelweg een tekenconstante van het type char;
  • "x" is een string, een array van char-waarden, of in dit geval, {'x', '\0'}.
Note
Opmerking

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 u strings wilt weergeven (arrays van char-waarden), gebruikt u 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

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; }

De C-taal bevat een standaard bibliotheek voor stringmanipulatie, <string.h>. Binnen deze bibliotheek is er een functie die het aantal tekens in een string telt:

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
Opmerking

Onthoud, zelfs een spatie is een teken en vereist een eigen plek in de array. Bijvoorbeeld: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.

Door een index te gebruiken, is het mogelijk om de elementen van de string te benaderen. Omdat strings in feite char-arrays zijn, kunnen ook individuele tekens worden aangepast via hun indexen.

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

Welke van de volgende opties declareert correct een string in C?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 6
some-alt