Fonctions
La meilleure manière de développer et maintenir un grand programme est de la construire de plus petits morceaux il est plus facile contrôler que (une technique parfois visée comme se divisent et conquièrent). Les fonctions permettent le programmeur modularize le programme.
Des fonctions permettent à des programmes compliqués d'être partagés vers le haut dans de petits blocs, il est plus facile écrire que, lisent, et maintiennent. Nous avons déjà rencontré le printf principal et servi de fonction de la bibliothèque standard. Nous pouvons naturellement faire nos propres fonctions et dossiers d'en-tête. Une fonction a la disposition suivante :
return-type function-name ( argument list if necessary )
{
local-declarations;
statements ;
return return-value;
}
Si le retourner-type est omis, C se transfère sur interne. La retourner-valeur doit être du type avoué. Toutes les variables avouées dans des fonctions s'appellent les variables locales, du fait elles sont connues seulement dans la fonction à laquelle elles ont été définies.
Quelques fonctions ont une liste de paramètre qui fournit une méthode de communication entre la fonction, et le module qui a appelé la fonction. Les paramètres sont également des variables locales, du fait ils ne sont pas extérieur disponible de la fonction. Tous les programmes ont couvert jusqu'ici ont la force, qui est une fonction.
Une fonction peut simplement accomplir un charger sans renvoyer n'importe quelle valeur, dans ce cas elle a la disposition suivante :
void function-name ( argument list if necessary )
{
local-declarations ;
statements;
}
Des arguments sont toujours passés par valeur dans des appels de fonction de C. Ceci signifie que des copies locales des valeurs des arguments sont passées aux routines. N'importe quel changement fait aux arguments intérieurement dans la fonction est fait seulement aux copies locales des arguments.
Afin de changer ou définir un argument dans la liste d'argument, cet argument doit être passé comme adresse. Vous employez des variables régulières si la fonction ne change pas les valeurs de ces arguments. Vous DEVEZ employer des indicateurs si la fonction change les valeurs de ces arguments.
Apprenons avec des exemples :
#include <stdio.h>
void exchange ( int *a, int *b )
{
int temp;
temp = *a;
*a = *b;
*b = temp;
printf(" From function exchange: ");
printf("a = %d, b = %d\n", *a, *b);
}
void main()
{
int a, b;
a = 5;
b = 7;
printf("From main: a = %d, b = %d\n", a, b);
exchange(&a, &b);
printf("Back in main: ");
printf("a = %d, b = %d\n", a, b);
}
Et le rendement de ce programme sera montré comme suit:
From main: a = 5, b = 7
From function exchange: a = 7, b = 5
Back in main: a = 7, b = 5 |
|