Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

C-Fonctions

Une fonction est un groupe d'instructions qui exécutent ensemble une tâche. Chaque programme C a au moins une fonction, qui est main() , et tous les programmes les plus triviaux peuvent définir des fonctions supplémentaires.

Vous pouvez diviser votre code en fonctions distinctes. La façon dont vous divisez votre code entre les différentes fonctions dépend de vous, mais logiquement la division est telle que chaque fonction exécute une tâche spécifique.

Une déclaration de fonction indique au compilateur le nom, le type de retour et les paramètres d'une fonction. Une définition de fonction fournit le corps réel de la fonction.

La bibliothèque standard C fournit de nombreuses fonctions intégrées que votre programme peut appeler. Par exemple, strcat() pour concaténer deux chaînes, memcpy() pour copier un emplacement mémoire vers un autre emplacement, et bien d'autres fonctions.

Une fonction peut également être désignée comme une méthode ou une sous-routine ou une procédure, etc.

Définir une fonction

La forme générale d'une définition de fonction dans le langage de programmation C est la suivante −

return_type function_name( parameter list ) {
   body of the function
}

Une définition de fonction en programmation C consiste en un en-tête de fonction et un corps de fonction . Voici toutes les parties d'une fonction −

Exemple

Vous trouverez ci-dessous le code source d'une fonction appelée max() . Cette fonction prend deux paramètres num1 et num2 et renvoie la valeur maximale entre les deux −

/* function returning the max between two numbers */
int max(int num1, int num2) {

   /* local variable declaration */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

Déclarations de fonction

Une déclaration de fonction indique au compilateur un nom de 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 comporte les parties suivantes −

return_type function_name( parameter list );

Pour la fonction max() définie ci-dessus, la déclaration de la fonction est la suivante −

int max(int num1, int num2);

Les noms de paramètres ne sont pas importants dans la déclaration de fonction, seul leur type est requis, donc ce qui suit est également une déclaration valide −

int max(int, int);

La déclaration de fonction est requise lorsque vous définissez une fonction dans un fichier source et que vous appelez cette fonction dans un autre fichier. Dans ce cas, vous devez déclarer la fonction en haut du fichier appelant la fonction.

Appeler une fonction

Lors de la création d'une fonction C, vous donnez une définition de ce que la fonction doit faire. Pour utiliser une fonction, vous devrez appeler cette fonction pour effectuer la tâche définie.

Lorsqu'un programme appelle une fonction, le contrôle du programme est transféré à la fonction appelée. Une fonction appelée exécute une tâche définie et lorsque son instruction de retour est exécutée ou lorsque son accolade fermante de fin de fonction est atteinte, elle renvoie le contrôle du programme au programme principal.

Pour appeler une fonction, il vous suffit de transmettre les paramètres requis avec le nom de la fonction, et si la fonction renvoie une valeur, vous pouvez stocker la valeur renvoyée. Par exemple −

Démo en direct
#include <stdio.h>
 
/* function declaration */
int max(int num1, int num2);
 
int main () {

   /* local variable definition */
   int a = 100;
   int b = 200;
   int ret;
 
   /* calling a function to get max value */
   ret = max(a, b);
 
   printf( "Max value is : %d\n", ret );
 
   return 0;
}
 
/* function returning the max between two numbers */
int max(int num1, int num2) {

   /* local variable declaration */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

Nous avons conservé max() avec main() et compilé le code source. Lors de l'exécution de l'exécutable final, cela produirait le résultat suivant −

Max value is : 200

Arguments de la fonction

Si une fonction doit utiliser des arguments, elle doit déclarer des variables qui acceptent les valeurs des arguments. Ces variables sont appelées les paramètres formels de la fonction.

Les paramètres formels se comportent comme les autres variables locales à l'intérieur de la fonction et sont créés lors de l'entrée dans la fonction et détruits lors de la sortie.

Lors de l'appel d'une fonction, il existe deux manières de passer des arguments à une fonction −

Sr.No. Type d'appel et description
1 Appel par valeur

Cette méthode copie la valeur réelle d'un argument dans le paramètre formel de la fonction. Dans ce cas, les modifications apportées au paramètre à l'intérieur de la fonction n'ont aucun effet sur l'argument.

2 Appel par référence

Cette méthode copie l'adresse d'un argument dans le paramètre formel. À l'intérieur de la fonction, l'adresse est utilisée pour accéder à l'argument réel utilisé dans l'appel. Cela signifie que les modifications apportées au paramètre affectent l'argument.

Par défaut, C utilise appel par valeur pour passer des arguments. En général, cela signifie que le code d'une fonction ne peut pas modifier les arguments utilisés pour appeler la fonction.


Langue C

  1. Types de fonctions définies par l'utilisateur dans la programmation C
  2. Passer des tableaux à une fonction en C
  3. C Fonctions de la bibliothèque standard
  4. Fonctions Python Lambda avec EXEMPLES
  5. Fonctions Verilog
  6. C - Champs de bits
  7. C - Fichier E/S
  8. C - Arguments variables
  9. Polymorphisme en C++