diff --git a/base_2.md b/base_2.md
index d77b3c7d49b0c5022e4076691983b782c16313e3..6f1df7ec1e71b544b244af66ae6f918e4ebb4687 100644
--- a/base_2.md
+++ b/base_2.md
@@ -39,7 +39,7 @@
     ```C
     type *id;
     ```
-- Pour interprêter le contenu de ce qu'il pointe, il doit être typé.
+- Pour interpréter le contenu de ce qu'il pointe, il doit être typé.
 - Un pointeur n'est rien d'autre qu'un entier (64bit sur x86-64, soit 8 octets).
 - Un pointeur peut être **déréférencé**: on accède à la valeur située à l'adresse mémoire sur laquelle il pointe.
 
@@ -196,7 +196,7 @@ int main() {
 - Pour modifier un variable, il faut passer son **adresse mémoire**.
 - L'adresse d'une variable, `x`{.C}, est accédé par `&x`{.C}.
 - Un **pointeur** vers une variable entière a le type, `int *x`{.C}.
-- La sytaxe `*x`{.C} sert à **déréférencer** le pointeur (à accéder à la mémoire pointée).
+- La syntaxe `*x`{.C} sert à **déréférencer** le pointeur (à accéder à la mémoire pointée).
 
 # Les fonctions (7/N)
 
@@ -366,7 +366,7 @@ int main(void) {
 
 ```C
 int x[10];
-for (int i = 0; 0 < 10; ++i) {
+for (int i = 0; i < 10; ++i) {
     x[i] = 0;
 }
 int j = 0;
@@ -397,7 +397,7 @@ do {
             printf("tab[%d] = %d\n", i, tab[i]);
         }
     }
-    // n doit venir avant tab, [n] opionel
+    // n doit venir avant tab, [n] optionnel
     void bar(int n, int tab[n]) {
         for (int i = 0; i < n; ++i) {
             printf("tab[%d] = %d\n", i, tab[i]);