From fc621d97aeb2d2319d4bf79fb65cdbb2e9b995b8 Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@hesge.ch>
Date: Wed, 2 Oct 2019 10:41:39 +0200
Subject: [PATCH] added indirection

---
 base_3.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/base_3.md b/base_3.md
index ad87778..5151f6c 100644
--- a/base_3.md
+++ b/base_3.md
@@ -147,6 +147,16 @@
     int **c = &b;
     ```
 - Chaque `*`{.C} ou `&`{.C} rajoute une indirection.
+
+# Allocation dynamique de mémoire (7/N)
+
+## Pointeur de pointeur
+
+
+![L'arithmétique des pointeurs.](figs/double_pointeur.svg){#fig:compilation height=100%}
+
+# Allocation dynamique de mémoire (8/N)
+
 - Avec `malloc()`, on peut allouer dynamiquement des tableaux de pointeurs:
 
     ```C
@@ -154,8 +164,11 @@
     for (int i = 0; i < 50; ++i) {
         p[i] = malloc(70 * sizeof(int));
     }
+    int a = p[5][8]; // on index dans chaque dimension
     ```
 
+- Ceci est une matrice (un tableau de tableau).
+
 # Prototypes de fonctions (1/N)
 
 ## Principes généraux de programmation
-- 
GitLab