From 90cf5bfd9b679a05dd21fbe3522f0f201dd87bce Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@hesge.ch> Date: Tue, 29 Sep 2020 19:49:56 +0200 Subject: [PATCH] maj bas3 --- base_3.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/base_3.md b/base_3.md index f6ed7c3..e9bb287 100644 --- a/base_3.md +++ b/base_3.md @@ -131,19 +131,21 @@ ## Arguments de fonctions par référence -- Pour modifier un variable, il faut passer son **adresse mémoire** en argument. +- Pour modifier une variable, il faut passer son **adresse mémoire** (sa référence) en argument. - L'adresse d'une variable, `a`{.C}, est accédée par `&a`{.C}. - Un **pointeur** vers une variable entière `a` le type, `int *`{.C}. -- La syntaxe `*a`{.C} sert à **déréférencer** le pointeur (à accéder à la mémoire pointée). +- `*a`{.C} sert à **déréférencer** le pointeur (accéder la mémoire pointée). ```C - void do_something(complex_t *a) { // a: un nouveau pointeur - // valeur de a est une copie de d'un pointeur + void do_something(complex_t *a) { + // a: un nouveau pointeur + // valeur de a est une copie de du pointeur + // passé en argument, mais // les données pointées sont les données originales - a->re += 2.0; a->im -= 2.0; - } // le pointeur a est détruit, *a est toujours là et a été modifié + } // le pointeur a est détruit, + // *a est toujours là et a été modifié ``` # Prototypes de fonctions (1/3) -- GitLab