Quelle est la différence entre un argument et un paramètre?

quand on parle verbalement de méthodes, Je ne suis jamais sûr d'utiliser le mot argument ou paramètre ou quelque chose d'autre. De toute façon, les autres savent ce que je veux dire, mais qu'est-ce qui est correct, et quelle est l'histoire des termes?

je suis programmeur C#, mais je me demande aussi si les gens utilisent des termes différents dans des langues différentes.

De L'Informatique. (S'il vous plaît ne me dites pas de lire code complet parce que je demande cela pour le bénéfice d'autres personnes qui n'ont pas déjà une copie de Steve McConnell merveilleux livre.)

résumé

le consensus général semble être QU'il est correct d'utiliser ces termes de façon interchangeable dans un environnement d'équipe. Sauf peut-être quand vous définissez la terminologie précise; alors vous pouvez également utiliser " formelle argument/parameter" et " réelle argument/parameter" pour lever l'ambiguïté.

505
demandé sur rohancragg 2008-10-01 12:57:20

30 réponses

un paramètre est une variable dans la définition d'une méthode. Lorsqu'une méthode est appelée, les arguments sont les données que vous passer dans les paramètres de la méthode.

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);
598
répondu Torbjörn Hansson 2013-03-26 10:03:22

paramètre est variable dans la déclaration de fonction.

Argument est la valeur réelle de cette variable qui passe à la fonction.

247
répondu Rinat Abdullin 2008-10-01 09:05:57

il y a déjà une entrée Wikipédia sur le sujet (voir paramètre ) qui définit et distingue les Termes paramètre et argument . En bref, un paramètre fait partie de la signature fonction/procédure/méthode et un argument est la valeur réelle fournie à l'exécution et/ou appel-site pour le paramètre.

L'article de Wikipedia indique aussi que les deux termes sont souvent utilisés de manière synonymique milliard cinq cent dix neuf million cents vingt mille neuf cent vingt"

bien que les paramètres soient également arguments, arguments sont plus correctement considéré comme le valeurs réelles ou références attribué aux variables de paramètre lorsque le le sous-programme est appelé à l'exécution.

étant donné l'exemple suivant de fonction en C qui ajoute deux entiers, x et y serait appelé son paramètres:

int add(int x, int y) {
    return x + y;
}

à un emplacement d'appel utilisant add , tel que l'exemple ci-dessous, 123 et 456 serait appelé le arguments de l'appel.

int result = add(123, 456);

aussi, certaines spécifications linguistiques (ou documentation formelle) choisissent d'utiliser paramètre ou argument exclusivement et utiliser des adjectifs comme formelle et réelle au lieu de lever l'ambiguïté entre les deux cas. Par exemple, la documentation C / C++ fait souvent référence à la fonction paramètres comme arguments formels et appel de fonction arguments comme arguments réels . Pour un exemple, voir " Formelle et Réelle des Arguments " dans le Visual C++ Langue de Référence .

62
répondu Atif Aziz 2008-10-01 14:06:30

Un paramètre est quelque chose que vous devez remplir lorsque vous appelez une fonction. Ce que vous mettez dans c'est l'argument.

simplement défini: l'argument va dans le paramètre, un argument est la valeur du paramètre.

Un peu plus d'infos sur: http://en.wikipedia.org/wiki/Parameter_ (computer_science)#Parameters_and_arguments

28
répondu Carra 2008-10-01 09:03:29

Simple:

  • P ARAMETER → P LACEHOLDER (cela signifie qu'un espace réservé appartient à la fonction nommant et doit être utilisé dans le corps de la fonction)
  • A RGUMENT → a valeur réelle (c'est-à-dire une valeur réelle qui est transmise par la fonction appelant)
26
répondu DucFilan 2017-08-17 05:50:06

l'utilisation des termes paramètres et arguments a été quelque peu mal utilisée parmi les programmeurs et même les auteurs. Lorsqu'il s'agit de méthodes, le terme paramètre est utilisé pour identifier les espaces réservés dans la signature de la méthode, tandis que le terme arguments sont les valeurs réelles que vous passez à la méthode.

CMDD Cerfification Toolkit (Examen 70-483) Programmation en C# , 1ère édition, Wrox, 2013

monde Réel scénario de

// Define a method with two parameters
int Sum(int num1, int num2)
{
   return num1 + num2;
}

// Call the method using two arguments
var ret = Sum(2, 3);
11
répondu ZenLulz 2014-06-23 13:31:38

en édition, je suis souvent rebuté par la façon dont les gens oublient: les langues de structure sont basées sur les langues naturelles.

En Anglais

Un "paramètre" est un espace réservé. Ils établissent le format de réponse, en langue parlée. Par définition, il est partie prenante à l'appel, limitant la réponse.

Un "argument" est une position qui est considérée. Vous argumentez votre opinion: vous considérez un argument.

Main différence 151930920"

le rôle thématique d'un argument est agent. Le rôle thématique du paramètre est le destinataire.

Interactions

pense à l'argument comme la partie masculine, faisant du paramètre la partie féminine. L'argument va dans le paramètre.

Utilisation

un paramètre est habituellement utilisé dans les définitions. Un argument est habituellement utilisé dans les invocations.

Questions

terminer la phrase pour la rendre moins dissonante.

(A) parlant d'une définition:

  1. quel argument sera utilisé []?
  2. [Ce] sera ce paramètre sur []?

(B) parlant d'une invocation:

  1. quel paramètre utiliserez-vous, []?
  2. quel [] sera [] ce paramètre?

Réponses

(A)

  1. sur/de/contre/avec ce paramètre
  2. argument (S)... prendre

(B)

  1. et quels sont les exemples d'arguments
  2. argument (S)... utilisé sur/dans/Contre / avec

chevauchements

comme vous pouvez l'imaginer, après avoir répondu: en langue parlée, ces mots produiront parfois des réponses identiques!

Donc, comme une règle:

  • généralement, si quelqu'un veut des informations sur les paramètres, il veut en savoir plus sur le type, le nom de la variable, etc. Ils peuvent devenir confus si vous vous exemple arguments.

    • habituellement si quelqu'un veut des informations d'argument, ils veulent savoir quelle valeur vous avez passé à une fonction ou son(s) paramètre (s).
9
répondu Wolfpack'08 2014-06-02 10:33:38

les "paramètres d'une fonction/méthode vous décrivent les valeurs qu'elle utilise pour calculer son résultat.

les arguments de a sont les valeurs attribuées à ces paramètres lors d'un appel particulier de la fonction/méthode.

7
répondu Johan 2008-10-01 09:04:06

ou peut être encore plus simple à retenir comme ceci, en cas d'arguments optionnels pour une méthode:

public void Method(string parameter = "argument") 
{

}

parameter est le paramètre, sa valeur", 151920920" est l'argument :)

7
répondu nawfal 2013-12-22 04:21:13

les termes sont quelque peu interchangeables. La distinction décrite dans d'autres réponses est plus correctement exprimée avec les Termes paramètre formel pour le nom utilisé à l'intérieur du corps de la fonction et paramètre pour la valeur fournie au site d'appel ( argument formel et argument sont également communs).

également noter que, en mathématiques, le terme l'argument est beaucoup plus commun et paramètre signifie habituellement quelque chose de tout à fait différent (bien que le paramètre dans une équation paramétrique est essentiellement le argument à deux ou plusieurs fonctions).

6
répondu Marcelo Cantos 2008-10-01 09:37:11

Cet exemple peut aider.

int main () {
   int x = 5; 
   int y = 4;

   sum(x, y); // **x and y are arguments**
}

int sum(int one, int two) { // **one and two are parameters**
   return one + two;
}
6
répondu Saurabh Rana 2013-10-21 21:49:42

disons que vous êtes une compagnie aérienne. Vous construire un avion. Vous installez des sièges. Ensuite, vous remplissez l'avion de passagers et vous l'envoyez quelque part. Les passagers (ou plutôt une version modifiée spatio-temporellement) débarquent. Le lendemain, vous réutilisez le même avion, et les mêmes sièges, mais avec des passagers différents cette fois.

le plan est votre fonction.

les paramètres sont Les sièges.

les arguments sont les passagers qui vont dans ces sièges.

6
répondu XML 2014-01-11 20:16:59

paramètres et Arguments

tous les différents termes qui ont à voir avec les paramètres et les arguments peut être source de confusion. Toutefois, si vous gardez quelques points simples à l'esprit, vous serez en mesure de gérer facilement ces termes.

  1. les paramètres formels pour une fonction sont énumérés dans la déclaration de fonction et sont utilisés dans le corps de la définition de fonction. Un paramètre formel (de toute sorte) est une sorte de vide ou espace réservé est rempli avec quelque chose lorsque la fonction est appelée.
  2. Un argument est quelque chose qui est utilisé pour remplir un paramètre formel. Lorsque vous écrivez un appel de fonction, les arguments sont répertoriés dans entre parenthèses après le nom de la fonction. Lorsque l'appel de fonction est exécuté, les arguments sont branché pour les paramètres formels.
  3. les Termes appel par valeur et appel par référence se réfèrent au mécanisme qui est utilisé dans le colmatage. Dans l'appel-par-valeur de la méthode seule la valeur de l'argument est utilisé. Dans cet appel-par-valeur mécanisme, le paramètre formel est une variable locale qui est initialisé à la valeur de l'argument correspondant. Dans le mécanisme appel par référence l'argument est une variable et le la variable entière est utilisée. Dans l'appel par référence mécanisme de l' la variable argument est substituée au paramètre formel de sorte que toute modification apportée au paramètre formel est en fait la variable argument.

Source: Absolute C++, Walter Savitch

C'est-à-dire,

enter image description here

6
répondu snr 2017-04-06 10:37:31

rappelez-vous toujours que:- Les Arguments sont passés pendant que les paramètres sont reçus.

6
répondu HEMANT GIRI 2017-09-22 10:05:44

Un argument est une instanciation d'un paramètre.

4
répondu Paul Richter 2014-03-18 06:56:21

Oui! Les paramètres et les Arguments ont des significations différentes, qui peuvent être facilement expliquées comme suit:

Fonction Paramètres sont des noms de la liste dans la définition de la fonction.

Fonction Arguments sont les vraies valeurs transmises (et reçu) à la fonction.

4
répondu anoNewb 2017-06-28 09:10:47

ou encore plus simple...

Arguments in !

paramètres désactivés !

3
répondu jpillora 2013-06-15 06:09:30

Ils n'ont pas beaucoup de différence dans l'utilisation en C, les deux termes sont utilisés dans la pratique. La plupart des arguments sont souvent utilisés avec des fonctions. La valeur transmise avec l'instruction d'appel de fonction s'appelle l'argument, et le paramètre serait la variable qui copie la valeur dans la définition de la fonction (appelée paramètre formel).

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; 
}

dans le code ci-dessus num1 et num2 sont des paramètres formels et a et b sont des arguments réels.

3
répondu Bevin Sunth 2013-10-27 14:50:41

les tutoriels Java D'Oracle définissent ainsi cette distinction: "Paramètres" se réfère à la liste des variables dans une déclaration de méthode. Les Arguments sont les valeurs réelles qui sont passées lorsque la méthode est invoquée. Lorsque vous invoquez une méthode, les arguments utilisés doivent correspondre aux paramètres de la déclaration en type et ordre."

une discussion plus détaillée des paramètres et des arguments: https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html

3
répondu J. Clarke 2016-03-10 17:36:00

Ok soyons réalistes: à toutes fins pratiques, ils sont pratiquement la même chose..........ok mais pour les pédants, il pourrait y avoir une différence technique.

Un "paramètre" est très générale de large chose, mais un argumet est très spécifique de la chose. Super, merci, c'est vraiment utile. hmmm: peut-être un exemple en est, dans l'ordre.

Une Explication Simple

prenons un exemple: j'ai un machine. Voici comment cela fonctionne: je mets les choses dans la machine à une extrémité, et à l'autre extrémité, un nouveau "produit" sort de la machine. Qu'est-ce qui va dans cette machine? Quoi. Ce sort? Une version raffinée de ce qui entre. par exemple, je peux mettre de la farine et du sucre dans une extrémité de cette machine, et de l'autre vient: un gâteau. vous obtenez l'idée.

Maintenant différentes machines ont des règles différentes. Une machine particulière ne peut accepter que l'essence (sans plomb) comme entrée. Il peut être ces machines acceptent des paramètres de type: essence.

un exemple

Qu'est-ce donc qu'un argument? Un argument est un exemple particulier et spécifique de ce qui est mis dans la machine. Supposons que ma machine prenne des gens comme entrée ( les gens seraient le paramètre de cette machine ) et supposons que cette machine transforme ces gens, en des gens qui ne sont pas des gens méchants (quelle merveilleuse machine!).Quel est-ce qu'un argument? L'argument sera la personne particulière qui est réellement mis dans la machine. par exemple, si George Bush est mis dans la machine, alors L'argument serait George Bush. Si Kim Kardiashian était là, elle serait aussi une dispute. Donc le paramètre serait les gens en tant que concept abstrait, mais l'argument serait toujours une personne particulière avec un nom particulier qui est mis dans la machine.

un autre exemple

p.ex. une méthode (c.-à-d. une machine particulière qui transforme des entrées en sorties) peut accepter un entier comme paramètre. Supposons que le nombre entier 5 soit "passé" dans la fonction (i.e. supposons que vous mettez le nombre 5 dans la machine). Dans ce cas, l'entier "5" serait l'argument, et le "paramètre" accepté par cette méthode serait de type integer.

c'est la différence. Simple.

j'espère que cela aidera. Si vous êtes confus juste commentaire et je vais l'essayer et de le corriger.

3
répondu BKSpurgeon 2016-03-17 20:42:01

logiquement parlant, on parle de la même chose. Mais je pense qu'une simple métaphore serait utile de résoudre ce dilemme.

si les métaphores peuvent être appelées divers points de connexion, nous pouvons les assimiler à des points de prise sur un mur. Dans ce cas, nous pouvons considérer les paramètres et les arguments comme suit:

paramètres sont les prises du point de prise qui peut prendre diverses différentes formes. Mais seuls certains types de bouchons d'ajustement.

Arguments seront les prises réelles qui seraient branchées dans les points/prises de fiche pour activer certains équipements.

3
répondu nuwanjaya 2017-04-29 12:15:18

paramètre est variable dans la déclaration de fonction.

Argument est la valeur réelle de cette variable qui passe à la fonction. enter image description here

3
répondu user6864832 2018-07-08 11:52:17

quand nous créons la méthode (la fonction) en Java, la méthode comme ceci..

data-type name of the method (data-type variable-name)

Dans la parenthèse, ce sont les paramètres, et lorsque nous appelons la méthode (fonction), nous passons la valeur de ce paramètre, qui sont appelés les arguments.

2
répondu Summra Umair 2016-03-23 09:58:53

, Selon Joseph Alabahari livre "le langage C# dans une coquille de noix" (C# 7.0, p. 49) :

static void Foo (int x)
{
    x = x + 1; // When you're talking in context of this method x is parameter
    Console.WriteLine (x);
}
static void Main()
{
    Foo (8); // an argument of 8. 
             // When you're talking from the outer scope point of view
}

dans certaines langues humaines (afaik italien, russe) les synonymes sont largement utilisés pour ces termes.

  • paramètre = paramètre formel "15198090920"
  • argument = paramètre réel

Dans mon les professeurs d'Université utilisent les deux types de noms.

2
répondu burzhuy 2018-01-18 21:28:01

paramètres sont les variables reçues par une fonction.Ils sont donc visibles dans la déclaration de fonction.Ils contiennent le nom de la variable avec leur type de données. Les Arguments sont des valeurs réelles qui sont passées à une autre fonction. c'est pourquoi nous pouvons les voir dans l'appel de fonction. Ce sont juste des valeurs sans leur type de données

0
répondu shreesh katti 2016-11-27 18:26:53

Les paramètres formels d'une fonction sont énumérées dans la déclaration de la fonction et sont utilisés dans le corps de la définition de la fonction. Un paramètre formel (de n'importe quelle sorte) est une sorte de vide ou de placeholder qui est rempli avec quelque chose quand la fonction est appelée.

Un argument est quelque chose qui est utilisé pour remplir un paramètre formel. Quand vous écrivez un appel de fonction, les arguments sont listés entre parenthèses après le nom de la fonction. Lorsque l'appel de fonction est exécuté, les arguments sont connectés pour les paramètres formels.

les Termes appel par valeur et appel par référence désignent le mécanisme utilisé dans le processus de branchement. Dans la méthode call-by-value, seule la valeur de l'argument est utilisée. Dans ce mécanisme appel par valeur, le paramètre formel est une variable locale qui est initialisée à la valeur de la argument correspondant. Dans le mécanisme appel par référence, l'argument est une variable et la variable entière est utilisée. Dans le mécanisme appel par référence, la variable argument est substituée au paramètre formel de sorte que toute modification apportée au paramètre formel soit effectivement apportée à la variable argument.

0
répondu Mahm00d 2017-06-13 08:46:05

paramètres sont des variables qui sont utilisées pour stocker les données qui est passé dans une fonction pour la fonction à utiliser. Arguments sont les données réelles qui sont passées dans une fonction quand elle est invoquée:

// x and y are parameters in this function declaration
function add(x, y) {
  // function body
  var sum = x + y;
  return sum; // return statement
}

// 1 and 2 are passed into the function as arguments
var sum = add(1, 2);
0
répondu Rejaul Karim 2017-07-26 11:37:57

j'ai réfléchi et j'ai réalisé que ma réponse précédente était fausse. Voici une bien meilleure définition

{ Imagine un carton d'oeufs: un paquet de saucisses Lies: And a maid } ceux-ci représentent les éléments d'une fonction nécessaire à la préparation appelée : (utilisez n'importe quel nom: disons que cuisiner est le nom de ma fonction).

une bonne est une méthode .

( Vous devez __appel_ ou demander à ce méthode pour faire le petit déjeuner)(l'acte de faire le petit déjeuner est un fonction appelé cuisson ) _

les œufs et les saucisses sont des paramètres:

(parce que le nombre d'oeufs et le nombre de saucisses que vous voulez manger est __variable_ .) _

votre décision est un Argument:

il représente la valeur __du nombre choisi d'œufs et/ou de saucisses que vous cuisinez ._

{ Mnémonique }

_ " lorsque vous appelez la bonne et lui demandez de faire le petit déjeuner, elle_ _ _ se dispute _ avec vous sur combien d'œufs et de saucisses vous devriez manger. Elle s'inquiète de votre cholestérol "_ _

( Arguments , ensuite, ce sont les valeurs de la combinaison des Paramètres que vous avez déclaré et a décidé de passer à votre Fonction )

0
répondu marcusjetson 2017-12-10 12:29:39

c'est expliqué parfaitement dans paramètre (Programmation informatique) - Wikipedia

vaguement, un paramètre est un type, et un argument est une instance.

dans la définition de la fonction f(x) = x*x la variable x est un paramètre; dans l'appel de fonction" 151920920 `la valeur " 2 est l'argument de la fonction.

Et Paramètre-Wikipedia

dans Programmation informatique , deux notions de paramètre sont couramment utilisées, et sont appelées paramètres et arguments - ou plus formellement comme un paramètre formel et un paramètre réel .

Par exemple, dans la définition d'une fonction telle que

y = f(x) = x + 2,

x est le paramètre formel (le paramètre ) de la fonction définie.

lorsque la fonction est évaluée pour une valeur donnée, comme dans

f(3): or, y = f(3) = 3 + 2 = 5,

est le paramètre réel (l'argument ) pour l'évaluation par la fonction définie; il est une valeur donnée (valeur réelle) qui est substituée à la paramètre formel de la fonction définie. (Dans l'usage occasionnel, les Termes paramètre et argument pourraient par inadvertance être interchangés, et donc utilisés incorrectement.)

0
répondu JawSaw 2018-03-19 11:18:07

vous devez revenir à l'essentiel.Les deux constructeurs et les méthodes ont des paramètres et des arguments.Beaucoup de gens appellent même les constructeurs des méthodes spéciales.C'est ainsi qu'une méthode est déclarée les paramètres sont utilisés :

      type name(parameters){
           //body of method
          }

et c'est ainsi qu'un constructeur est déclaré les paramètres sont utilisés :

classname(parameters){
//body
}

montre maintenant un code d'exemple en utilisant lequel nous calculons le volume d'un cube:

public class cuboid {
    double width;
    double height;
    double depth;

      cuboid(double w,double h,double d) { 
      //Here w,h and d are parameters of constructor
       this.width=w;
       this.height=h;
       this.depth=d;
       }

        public double volume() {
        double v;
        v=width*height*depth;
        return v;
        }
        public static void main(String args[]){
           cuboid c1=new cuboid(10,20,30);
           //Here 10,20 and 30 are arguments of a constructor
           double vol;
           vol=c1.volume();
           System.out.println("Volume is:"+vol);

           }
    }

donc maintenant vous comprenez que lorsque nous appelons un constructeur/une méthode sur un objet à un endroit plus tard dans le code nous passons des arguments et non des paramètres.D'où les paramètres sont limitées à l'endroit où l'objet logique est définie mais les arguments entrent en jeu lorsqu'un objet physique obtient effectivement créé.

0
répondu Manas Singh 2018-06-01 07:39:16