49 votes

Paramètres par défaut en C

Est-il possible de définir des valeurs pour les paramètres par défaut en C ? Par exemple:

Visual Studio 2008, se plaint qu’il existe une erreur de syntaxe dans -void display(int a, int b=10). Si ce n’est pas légal en C, quelle est l’alternative? S’il vous plaît laissez-moi savoir. Merci.

79voto

ouah Points 75311

Les paramètres par défaut sont une fonctionnalité C++.

C n’a pas de paramètres par défaut.

20voto

Joni Points 46728

Ce n’est pas possible dans la norme C. Une alternative consiste à encoder les paramètres dans le nom de la fonction, comme par exemple :

10voto

RussS Points 3179

Il n’y a pas de paramètres par défaut en C.

Une façon de s’en sortir consiste à passer des pointeurs NULL, puis à définir les valeurs par défaut si la valeur NULL est transmise. C’est dangereux cependant, donc je ne le recommanderais pas à moins que vous n’ayez vraiment besoin de paramètres par défaut.

Exemple

2voto

Dtyree Points 182

Ce n’est pas comme ça...

Vous pouvez utiliser un tableau int ou un varargs et remplir les données manquantes dans votre fonction. Vous perdez cependant des vérifications de temps de compilation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X