0% ont trouvé ce document utile (0 vote)
25 vues12 pages

Comprendre les fonctions en C

C

Transféré par

mamadoul2003
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues12 pages

Comprendre les fonctions en C

C

Transféré par

mamadoul2003
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les fonctions

Les fonctions

Définition :
Une fonction est un sous-programme qui peut-être utilisée
plusieurs fois.

2
Les fonctions

Une fonction doit avoir:



un entête comprenant
1. un nom
2. un type de retour
3. un nombre fixe de paramètres (paramètres formels)

corps comprenant
1. la déclaration des variables locales utilisables uniquement dans le corps de la fonction
2. les instructions qui utilisent les variables locales et les paramètres de la fonction
3. un ordre de retour du résultat
3
Exemple :

int max (int i, int j) {


int diff;
diff=i-j;
if(diff >= 0)
return i;
else
return j;
}

4
Appel de fonction


Les paramètres effectifs sont évalués
lors de l'appel de la fonction
int main () {
i et j sont des
#include<stdio.h> paramètres int a, b;
formels printf("Entrez deux entiers \n");
int max (int i, int j) {
int diff;
scanf ("%d%d",&a,&b);
diff=i-j; printf ("Le plus grand des deux est:
if(diff >= 0) return i;
%d\n", max(a,b)); a et b sont les
return 0 ; paramètres
else return j;
effectifs
} }
5
Passage de paramètres


Qu’est-ce que cela affiche? Pourquoi?

Seule une copie du paramètre est transmise

#include<stdio.h> int main() {


void modif(int i) { int n=10;
printf(" la valeur du paramètre au départ est printf("n=%d\n", n);
%d\n", i);
modif(n);
i++;
printf("n=%d\n", n);
printf(" la valeur du paramètre après
modification est %d\n", i); return 0 ;
} }
6
Variables globales


Une solution pour régler le problème précédent est d'utiliser des
variables globales

Une variable globale est accessible dans n'importe quelle fonction

7
Exemple 1

#include<stdio.h>
int i; /* i est une variable globale*/
void affiche() {
printf("la valeur du paramètre est : %d,\n", i);
}
int main() {
for(i=1;i<5;i++) affiche();
return 0 ;
}

Qu’est-ce que cela affiche?
8
Exemple 2

#include<stdio.h> int main() {


int i=10; printf( " i=%d\n", i);
void modif() {
modif();
printf(" la valeur du paramètre au
départ est %d\n", i); printf(" i=%d\n", i);
i++; return 0 ;
printf(" la valeur du paramètre }
après modification est %d\n", i); ●
Qu’est-ce que cela affiche?
}
9
Variables globales

Avantages: Inconvénients:

On peut les utiliser dans ●
On peut les modifier dans
n'importe quelle fonction n'importe quelle fonction

On peut les modifier dans ●
Entraine de nombreuses
n'importe quelle fonction erreurs

10
A retenir sur les fonctions


Une fonction est un bout de programme qui peut être utilisée plusieurs
fois grâce aux appels.

Elle simplifie l’écriture des programmes et améliore leur lisibilité.

Les types, l’ordre d’apparition et le nombre des paramètres doivent être
les mêmes entre la déclaration (paramètres formels) et l’appel
(paramètres effectifs)

En C, les paramètres sont passés par copie (passage par valeurs).

Les paramètres effectifs sont évalués et une copie du résultat de
l’évaluation est transmise à la fonction.

11
Questions ?

12

Vous aimerez peut-être aussi