C Fonction
; ... ... et ainsi de suite.main(), et tous les programmes simples peuvent définir d'autres fonctions supplémentaires.
Vous pouvez diviser votre code en différentes fonctions. La façon dont vous divisez le code en différentes fonctions dépend de vous, mais logiquement, la division est généralement basée sur le fait que chaque fonction effectue une tâche spécifique.
FonctionDéclarationIndique au compilateur le nom, le type de retour et les paramètres de la fonction. Une fonctiondéfinitionFournit le corps réel de la fonction.
La bibliothèque standard C fournit un grand nombre de fonctions intégrées que les programmes peuvent appeler. Par exemple, la fonctionstrcat()est utilisée pour concaténer deux chaînes, la fonctionmemcpy()est utilisée pour copier la mémoire vers un autre emplacement.
Les fonctions ont de nombreux autres noms, tels que méthodes, sous-programmes ou procédures, etc.
Définir une fonction
La forme générale d'une définition de fonction en C est la suivante :
return_type function_name( parameter list )
{
body of the function
}
En C, une fonction se compose d'un en-tête de fonction et d'un corps de fonction. Voici une liste de toutes les parties d'une fonction :
- Type de retour :Une fonction peut renvoyer une valeur.return_typeEst le type de données de la valeur renvoyée par la fonction. Certaines fonctions effectuent les opérations souhaitées sans renvoyer de valeur ; dans ce cas, return_type est le mot-clévoid。
- Nom de la fonction :C'est le nom réel de la fonction. Le nom de la fonction et la liste de paramètres constituent ensemble la signature de la fonction.
- Paramètres :Les paramètres agissent comme des espaces réservés. Lorsqu'une fonction est appelée, vous passez une valeur au paramètre, et cette valeur est appelée paramètre effectif. La liste des paramètres inclut le type, l'ordre et le nombre des paramètres de la fonction. Les paramètres sont facultatifs ; autrement dit, une fonction peut ne contenir aucun paramètre.
- Corps de la fonction :Le corps de la fonction contient un ensemble d'instructions qui définissent ce que fait la fonction.
Exemple
Ce qui suit estmax()Le code source de la fonction. Cette fonction a deux paramètres, num1 et num2, et renvoie le plus grand des deux nombres :
Déclaration de fonction
Déclarationde fonctionIndique au compilateur le nom de la fonction et comment appeler la fonction. Le corps réel de la fonction peut être défini séparément.
Une déclaration de fonction se compose des parties suivantes :
return_type function_name( parameter list );
Pour la fonction max() définie ci-dessus, voici la déclaration de fonction :
int max(int num1, int num2);
Dans une déclaration de fonction, les noms des paramètres ne sont pas importants ; seuls les types des paramètres sont requis. Par conséquent, ce qui suit est également une déclaration valide :
int max(int, int);
Lorsque vous définissez une fonction dans un fichier source et l'appelez dans un autre fichier, une déclaration de fonction est nécessaire. Dans ce cas, vous devez déclarer la fonction en haut du fichier qui appelle la fonction.
Appeler une fonction
Lorsque vous créez une fonction C, vous définissez ce que fait la fonction, puis vous accomplissez la tâche définie en appelant la fonction.
Lorsqu'un programme appelle une fonction, le contrôle du programme est transféré à la fonction appelée. La fonction appelée exécute la tâche définie. Lorsque l'instruction return de la fonction est exécutée, ou lorsque l'accolade fermante de la fonction est atteinte, le contrôle du programme est renvoyé au programme principal.
Lors de l'appel d'une fonction, passez les paramètres requis, et si la fonction renvoie une valeur, vous pouvez stocker la valeur renvoyée. Par exemple :
Exemple
Réunissez la fonction max() et la fonction main(), compilez le code source. Lorsque le fichier exécutable final est lancé, les résultats suivants sont produits :
Max value is : 200
Paramètres de fonction
Si la fonction doit utiliser des paramètres, vous devez déclarer des variables qui acceptent les valeurs des paramètres. Ces variables sont appelées lesparamètres formels de la fonction。
Les paramètres formels sont comme les autres variables locales à l'intérieur d'une fonction ; ils sont créés lors de l'entrée dans la fonction et détruits lors de la sortie de la fonction.
Lors de l'appel d'une fonction, il existe deux façons de passer des paramètres à la fonction :
| Type d'appel | Description |
|---|---|
| Appel par valeur | Cette méthode copie les valeurs effectives des arguments dans les paramètres formels de la fonction. Dans ce cas, modifier les paramètres formels à l'intérieur de la fonction n'affecte pas les arguments effectifs. |
| Appel par référence | Dans le passage par pointeur, le paramètre formel est un pointeur vers l'adresse de l'argument effectif. Lorsqu'une opération est effectuée sur la cible du paramètre formel, cela équivaut à effectuer une opération sur l'argument effectif lui-même. |
Par défaut, C utilisel'appel par valeurpour passer des paramètres. De manière générale, cela signifie que le code à l'intérieur de la fonction ne peut pas modifier les arguments effectifs utilisés pour appeler la fonction.
autres extensions