Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Transmission par valeur<br />
• La valeur du paramètre est recopiée<br />
→ Valeur initiale du paramètre (variable locale <strong>de</strong> la<br />
fonction)<br />
int somme(int a, int b) {<br />
int s;<br />
s = a+b;<br />
(15)<br />
r<strong>et</strong>urn s;<br />
}<br />
…<br />
X = somme(2, 5*3);<br />
Inconvénients <strong>de</strong> la transmission<br />
par valeur<br />
• Paramètre encombrant (ex. : tableau)<br />
• Une fonction ne renvoie qu'une valeur<br />
M. <strong>Deloizy</strong> Informatique - Généralités 85<br />
M. <strong>Deloizy</strong> Informatique - Généralités 86<br />
Transmission par référence<br />
Pointeurs<br />
• On transm<strong>et</strong> l'adresse du paramètre plutôt que<br />
sa valeur<br />
→ utilisation d'un pointeur (type adresse)<br />
int v;<br />
int *p;<br />
p = &v;<br />
v est un entier<br />
p est l'adresse d'un entier (*p : entier)<br />
p prend comme valeur l'adresse <strong>de</strong> v<br />
Pour accé<strong>de</strong>r à v, on utilise la notation *p<br />
→ signifie : l'entier pointé par p (ici : v)<br />
Pour charger 5 dans v, on peut donc écrire :<br />
v = 5<br />
*p = 5<br />
*(&v) = 5<br />
M. <strong>Deloizy</strong> Informatique - Généralités 87<br />
M. <strong>Deloizy</strong> Informatique - Généralités 88<br />
22