Vidéo: Programmation C - Fonction 2024
En programmation C, toutes les fonctions sont doublées avec un nom, qui doit être unique; aucune fonction ne peut avoir le même nom, et une fonction ne peut pas avoir le même nom qu'un mot-clé.
Le nom est suivi de parenthèses suivies d'un ensemble de parenthèses. Donc, à sa construction la plus simple, une fonction ressemble à ceci:
type function () {}
Dans la ligne précédente, type définit la valeur renvoyée ou générée par une fonction. Les options pour type incluent tous les types de variables C standard - char, int, float, double - et sont également vides pour les fonctions bon marché qui ne retournent rien.
fonction est le nom de la fonction. Il est suivi d'une paire de parenthèses, qui peuvent éventuellement contenir des valeurs passées à la fonction. Ces valeurs sont appelées arguments . Toutes les fonctions ne comportent pas d'arguments. Puis viennent les accolades et toutes les déclarations qui aident la fonction à faire son truc.
Les fonctions qui retournent une valeur doivent utiliser le mot-clé return. L'instruction return met fin à la fonction directement ou renvoie une valeur à l'instruction qui a appelé la fonction. Par exemple:
retour;
Cette instruction termine une fonction et ne transmet pas de valeur. Toutes les instructions de la fonction après le retour sont ignorées.
return ( quelque chose );
Cette instruction transmet la valeur de la variable quelque chose à l'instruction qui a appelé la fonction. Le quelque chose doit être du même type de variable que la fonction, un int, le flottant, et ainsi de suite.
Les fonctions qui ne renvoient pas de valeurs sont déclarées du type void. Ces fonctions se terminent par le dernier énoncé entre accolades; une déclaration de retour n'est pas requise.
Encore une chose importante! Les fonctions doivent être prototypées dans votre code. C'est ainsi que le compilateur comprend la fonction et veille à ce que vous l'utilisiez correctement. Le prototype décrit la valeur renvoyée et toutes les valeurs envoyées à la fonction. Le prototype peut apparaître comme une déclaration en haut de votre code source. Fonction basique; Aucun retour ne montre un exemple à la ligne 3.
FONCTION DE BASE; NO RETURN
#include l'invite void (); / * Fonction prototype * / int main () {int boucle; entrée char [32]; boucle = 0; while (loop ");}
Exercice 1: Utilise le code source de la fonction de base; No Return pour créer un nouveau projet, ex1001 Build and run.
Le programme affiche une invite cinq Il est bien évident que rien ne se passe lorsque vous tapez, bien que vous puissiez programmer ces actions plus tard, si vous le souhaitez.Voici comment fonctionne ce programme en ce qui concerne la création d'une fonction:
Line 3 liste le prototype de la fonction. C'est essentiellement une copie de la première ligne de la fonction (à partir de la ligne 22), mais se terminant par un point-virgule. Il peut aussi être écrit comme ceci:
void prompt (void);
Comme la fonction ne nécessite aucun argument (les éléments entre parenthèses), vous pouvez également utiliser le mot-clé void.
La ligne 13 accède à la fonction. La fonction est appelée comme sa propre déclaration. Il ne nécessite aucun argument ou ne renvoie aucune valeur, et il apparaît sur une ligne par lui-même, comme indiqué dans la liste. Lorsque le programme rencontre cette instruction, l'exécution du programme passe à la fonction. Les instructions de la fonction sont exécutées, puis le contrôle retourne à la ligne suivante du code après l'appel de la fonction.
Les lignes 22 à 25 définissent la fonction elle-même. Le type de fonction est spécifié sur la ligne 22, suivi du nom de la fonction, puis des parenthèses. Comme avec le prototype, vous pouvez spécifier void dans les parenthèses car aucun argument n'est transmis à la fonction.
La seule déclaration de la fonction est placée entre accolades. La fonction prompt () affiche simplement une invite en utilisant la fonction printf (), ce qui donne l'impression que la fonction n'est pas nécessaire, mais de nombreux exemples de fonctions d'une ligne peuvent être trouvés dans beaucoup de programmes.
Exercice 2 : Modifier le code source à partir de la fonction de base; Non Retour pour que la boucle while apparaisse dans sa propre fonction. (Copiez les lignes 7 à 16 dans une nouvelle fonction.) Nommez cette fonction busy () et faites appel à la fonction main ().
-
C n'a aucune limite sur ce que vous pouvez faire dans une fonction. Toutes les instructions que vous pouvez insérer dans la fonction main () peuvent entrer dans n'importe quelle fonction. En effet, main () est simplement une autre fonction dans votre programme, bien que la fonction principale du programme.
-
Lors de la déclaration d'un type de fonction int ou char, vous pouvez également indiquer signed, unsigned, long et short, selon le cas.
-
La fonction main () a des arguments, donc ne soyez pas tenté d'éditer ses parenthèses vides et de coller le mot void là-dedans. En d'autres termes, cette construction est fausse:
int main (void)
La fonction main () de C a deux arguments. Il est possible d'éviter de les lister lorsque vous ne les utiliserez pas, en gardant les parenthèses vides.
-
D'autres langages de programmation peuvent se référer à une fonction comme sous-routine ou procédure .