From 082d3c89394a57081e2952c7d81b8e0c2136956e Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Mon, 31 Oct 2022 17:20:32 +0100 Subject: [PATCH] adjout chaines de char --- slides/strings.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 slides/strings.md diff --git a/slides/strings.md b/slides/strings.md new file mode 100644 index 0000000..53dd556 --- /dev/null +++ b/slides/strings.md @@ -0,0 +1,55 @@ +--- +title: "Chaînes de caractères" +date: "2022-11-01" +--- + +# Rappel: la chaîne de caractères + +## Existe-t-il un type `string`{.C} en `C`{.C}? + +. . . + +* Non. + +. . . + +## Qu'est-ce qu'une chaîne de caractères en C? + +. . . + +* Un tableau de `char`{.C} (entier signé 8 bits, le code ASCII de chaque caractère). + +. . . + +## Comment détecte-t-on la fin d'une chaîne de caractères? + +. . . + +* La chaîne est terminée lorsqu'on rencontre le caractère `\0`{.C} ou l'ASCII `0`{.C}. + +# Exemple + +```C +char *str = "HELLO !"; // statique +``` + +Est représenté par + +| `H` | `E` | `L` | `L` | `O` | | `!` | `\0`| +|------|------|------|------|------|------|------|-----| +| `72` | `69` | `76` | `76` | `79` | `32` | `33` | `0` | + +# Syntaxes alternatives + +```C +char name[10]; +name[0] = 'P'; // = 70; +name[1] = 'a'; // = 97; +name[2] = 'u'; // = 117; +name[3] = 'l'; // = 108; +name[4] = '\0'; // = 0; +char name[] = {'P', 'a', 'u', 'l', '\0'}; +``` + + + -- GitLab