09.01.2015 Views

Langage C - Pages de Michel Deloizy - Free

Langage C - Pages de Michel Deloizy - Free

Langage C - Pages de Michel Deloizy - Free

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

LICENCE SPI-EEA MÉMENTO M. <strong>Deloizy</strong><br />

La boucle for<br />

for(i=0;i 0.001)<br />

{ action à répéter tant que > 10 −3<br />

}<br />

La boucle do-while<br />

do<br />

{ action à répéter tant que > 10 −3<br />

} while(Delta > 0.001) ;<br />

Dans la boucle while, le test sřeffectue une première fois avant <strong>de</strong> commencer la boucle. Dans la boucle do-while, le<br />

test sřeffectue après la boucle et la boucle sera donc faite au moins une fois.<br />

Fonctions<br />

Fonction retournant une valeur<br />

int f1(float x, char c) fonction prenant un flottant et un char et retournant un entier<br />

{ texte <strong>de</strong> la fonction<br />

· · ·<br />

return 1 ; retourne un entier à la fin<br />

}<br />

Fonction ne retournant rien<br />

Une fonction <strong>de</strong> type void ne retourne pas <strong>de</strong> valeur.<br />

void f2(float x[]) fonction prenant un tableau <strong>de</strong> flottants et ne retournant rien<br />

{ texte <strong>de</strong> la fonction<br />

pas <strong>de</strong> retour à la fin ou return seul. (return ;)<br />

}<br />

Déclaration d’une fonction et utilisation<br />

On déclare une fonction pour lřutiliser dans une autre :<br />

int f1(float, char) ;<br />

void f2(float[]) ;<br />

On lřutilise avec <strong>de</strong>s variables ou <strong>de</strong>s constantes comme paramètres :<br />

i = f1(y,c);<br />

j = f1(10.0,’y’);<br />

f2(tab) ;<br />

Pointeurs et allocation <strong>de</strong> mémoire<br />

Pointeurs<br />

float *pf ; un pointeur sur float (variable contenant une adresse mémoire)<br />

float x=3 ; un float égal à 3<br />

pf = &x ; le pointeur <strong>de</strong>vient égal à lřadresse <strong>de</strong> x<br />

*pf = 4 ; la valeur stockée à cette adresse est modifiée<br />

Allocation <strong>de</strong> mémoire<br />

On peut réserver <strong>de</strong> lřespace en mémoire après le démarrage du programme grâce à la fonction malloc qui retourne un<br />

pointeur sans type particulier.<br />

pf = (float*) malloc(10*sizeof(float));<br />

malloc réserve 10 cases en mémoire pouvant chacune contenir un flottant. Elle renvoie lřadresse <strong>de</strong> la première case<br />

mémoire. On transforme cette adresse en type float*, puis on la stocke dans pf.<br />

On accè<strong>de</strong> au contenu <strong>de</strong> la case mémoire 5 <strong>de</strong> différentes manières<br />

x = pf[5] ; ou bien x = *(pf+5) ;<br />

On libère la mémoire à lřai<strong>de</strong> <strong>de</strong> la comman<strong>de</strong> free<br />

free(pf) ;<br />

-48-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!