From 7e8c1280d497de38ac96999b51edab3919426e21 Mon Sep 17 00:00:00 2001
From: "paul.albuquer" <paul.albuquerque@hesge.ch>
Date: Mon, 21 Nov 2022 19:54:40 +0100
Subject: [PATCH] Corrected few typos

---
 slides/allocation_dynamique.md | 44 ++++++++++++++++++----------------
 1 file changed, 23 insertions(+), 21 deletions(-)

diff --git a/slides/allocation_dynamique.md b/slides/allocation_dynamique.md
index ccf651e..6f312ae 100644
--- a/slides/allocation_dynamique.md
+++ b/slides/allocation_dynamique.md
@@ -3,7 +3,7 @@ title: "Allocation dynamique de mémoire"
 date: "2022-11-22"
 ---
 
-# Allocation dynamique de mémoire (1/8)
+# Allocation dynamique de mémoire (1/7)
 
 - La fonction `malloc`{.C} permet d'allouer dynamiquement (pendant l'exécution du programme) une zone de mémoire contiguë.
 
@@ -15,14 +15,14 @@ date: "2022-11-22"
 - Retourne un pointeur sur la zone mémoire ou `NULL`{.C} en cas d'échec: **toujours vérifier** que la valeur retournée est `!= NULL`{.C}.
 - Le *type* du retour est `void *`{.C} (un pointeur de type quelconque).
 
-# Allocation dynamique de mémoire (2/8)
+# Allocation dynamique de mémoire (2/7)
 
 - On peut allouer et initialiser une `fraction_t`{.C}:
 
     ```C
-    fraction_t *num = malloc(sizeof(fraction_t));
-    num->num = 1;
-    num->denom = -1;
+    fraction_t *frac = malloc(sizeof(fraction_t));
+    frac->num = 1;
+    frac->denom = -1;
     ```
 - La zone mémoire **n'est pas** initialisée.
 - Désallouer la mémoire explicitement $\Rightarrow$ **fuites mémoires**.
@@ -30,7 +30,7 @@ date: "2022-11-22"
 
 ![La représentation mémoire de `fraction_t` et fuites.](figs/pointer_struct_ok.svg){width=100%}
 
-# Allocation dynamique de mémoire (3/8)
+# Allocation dynamique de mémoire (3/7)
 
 - La fonction `free()`{.C} permet de libérer une zone préalablement allouée avec `malloc()`{.C}.
 
@@ -38,13 +38,13 @@ date: "2022-11-22"
     #include <stdlib.h>
     void free(void *ptr);
     ```
-- Pour chaque `malloc()`{.C} doit correspondre exactement un `free()`{.C}.
+- A chaque `malloc()`{.C} doit correspondre exactement un `free()`{.C}.
 - Si la mémoire n'est pas libérée: **fuite mémoire** (l'ordinateur plante quand il y a plus de mémoire).
 - Si la mémoire est **libérée deux fois**: *seg. fault*.
 - Pour éviter les mauvaises surprises mettre `ptr`{.C} à `NULL`{.C} après
   libération.
 
-# Allocation dynamique de mémoire (4/8)
+# Allocation dynamique de mémoire (4/7)
 
 ## Tableaux dynamiques
 
@@ -69,7 +69,7 @@ date: "2022-11-22"
     p[0] == *p; // le pointeur est le premier élément
     ```
 
-# Allocation dynamique de mémoire (5/8)
+# Allocation dynamique de mémoire (5/7)
 
 ## Arithmétique de pointeurs
 
@@ -83,7 +83,7 @@ $$
 \mathcal{O}(1).
 $$
 
-# Allocation dynamique de mémoire (7/8)
+# Allocation dynamique de mémoire (6/7)
 
 ## Pointeur de pointeur
 
@@ -94,15 +94,17 @@ $$
     int *b = &a;
     int **c = &b;
     ```
+- En effet, un pointeur est aussi une variable (une variable qui contient une adresse mémoire).
+
 - Chaque `*`{.C} ou `&`{.C} rajoute une indirection.
 
-# Allocation dynamique de mémoire (7/8)
+# Allocation dynamique de mémoire (6/7)
 
 ## Pointeur de pointeur
 
 ![Les références de pointeurs.](figs/double_pointeur.svg){height=100%}
 
-# Allocation dynamique de mémoire (8/8)
+# Allocation dynamique de mémoire (7/7)
 
 - Avec `malloc()`, on peut allouer dynamiquement des tableaux de pointeurs:
 
@@ -114,7 +116,7 @@ $$
     int a = p[5][8]; // on indexe dans chaque dimension
     ```
 
-- Ceci est une matrice (un tableau de tableau).
+- Ceci est une matrice (un tableau de tableaux).
 
 # Tableau dynamique en argument d'une fonction
 
@@ -182,7 +184,7 @@ Outils pour leur détection:
 * Valgrind (outil externe).
 * Sanitizers (ajouts de marqueurs à la compilation).
 
-Ici on utilise les sanitizers (modification de la ligne de compilation, modifiez les *Makefile*):
+Ici on utilise les sanitizers (modification de la ligne de compilation, modifiez donc vos *Makefile*):
 
 ```bash
 gcc -o main main.c -g -fsanitize=address -fsanitize=leak
@@ -201,8 +203,8 @@ p[10] = 1;
 
 . . .
 
-* On alloue de la place pour 50 entiers,
-* On initialise le 11e élément du tableau à 1,
+* On alloue de la place pour 50 entiers.
+* On initialise le 11ème élément du tableau à 1.
 * Les autres éléments sont non-initialisés.
 
 # Questions
@@ -216,9 +218,9 @@ p[20] = 1.3;
 
 . . .
 
-* On déclare un pointeur de floats de taille 50 octets,
-* Mais il ne peut contenir que `50 / 4` floats (un float est composé de 32bits),
-* On dépasse la capacité de la mémoire alloué: comportement indéfini.
+* On déclare un pointeur de floats de taille 50 octets.
+* Mais il ne peut contenir que `50 / 4` floats (un float est composé de 32 bits).
+* On dépasse la capacité de la mémoire allouée: comportement indéfini.
 
 # Questions
 
@@ -231,8 +233,8 @@ p[20] = 1.3;
 
 . . .
 
-* On déclare un pointeur de floats de taille 50 octets,
-* Mais il ne peut contenir que `50 / 4` floats (un float est composé de 32bits),
+* On déclare un pointeur de floats de taille 50 octets.
+* Mais il ne peut contenir que `50 / 4` floats (un float est composé de 32 bits).
 * On dépasse la capacité de la mémoire alloué: comportement indéfini.
 
 # Questions
-- 
GitLab