Maison >développement back-end >C++ >Comment fonctionnent les valeurs des paramètres par défaut dans les fonctions C ?

Comment fonctionnent les valeurs des paramètres par défaut dans les fonctions C ?

DDD
DDDoriginal
2024-11-04 08:43:30400parcourir

How do Default Parameter Values Work in C   Functions?

Valeurs par défaut des paramètres de fonction

En C, les fonctions peuvent avoir des valeurs de paramètres par défaut. Cela permet d'appeler une fonction avec moins d'arguments, la valeur par défaut étant utilisée pour l'argument manquant.

Lors de la définition d'une fonction avec un paramètre par défaut, la syntaxe est la suivante :

<code class="cpp"><return-type> <function-name>(<arg-type1> <arg-name1>, <arg-type2> <arg-name2> = <default-value>);</code>

Il existe deux manières de définir une fonction avec un paramètre par défaut :

  1. Prototyper d'abord la fonction :

    <code class="cpp">int Add(int a, int b); // Prototype
    int Add(int a, int b = 3); // Definition</code>
  2. Définir directement la fonction :

    <code class="cpp">int Add(int a, int b = 3); // Both declaration and definition</code>

La définition du paramètre par défaut est généralement spécifiée dans la déclaration de la fonction. En effet, le compilateur ne verra la déclaration du paramètre que lorsqu'il compilera le code qui appelle la fonction. En spécifiant la valeur par défaut dans la déclaration, le compilateur peut garantir que la fonction est toujours appelée avec le bon nombre d'arguments, même s'il en manque certains.

Considérez l'exemple suivant :

lib.h

<code class="cpp">int Add(int a, int b = 3);</code>

lib.cpp

<code class="cpp">int Add(int a, int b) {
   ...
}</code>

test.cpp

<code class="cpp">#include "lib.h"

int main() {
    Add(4);
}</code>

Si la définition du paramètre par défaut était spécifiée uniquement dans la définition de la fonction, la compilation de test.cpp échouerait avec une erreur, car le compilateur ne verrait pas la déclaration de valeur par défaut. En spécifiant la valeur par défaut dans la déclaration de fonction, test.cpp sera compilé avec succès et la valeur par défaut de 3 sera utilisée pour l'argument manquant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn